O processo usual é:
pg_dumpall --globals-onlypara obter usuários/funções/etcpg_dump -Fcpara cada banco de dados para obter um bom dump compactado adequado para uso compg_restore.
Sim, esse tipo de merda. Eu realmente gostaria de ensinar
pg_dump para incorporar pg_dumpall saída em -Fc despeja, mas agora infelizmente não sabe como, então você tem que fazer isso sozinho. Até o PostgreSQL 11 havia também uma advertência desagradável com esta abordagem:Nem
pg_dump , nem pg_dumpall em --globals-only o modo despejaria o acesso do usuário GRANT s em DATABASE s. Então você teve que extraí-los dos catálogos ou filtrar um pg_dumpall . Isso foi corrigido no PostgreSQL 11; consulte as notas de versão
. Você também deve saber sobre backups físicos -
pg_basebackup , PgBarman e arquivamento WAL, PITR, etc. Estes oferecem uma recuperação muito mais "finada", até o minuto ou transação individual. A desvantagem é que eles ocupam mais espaço, só podem ser restaurados para a mesma versão do PostgreSQL na mesma plataforma e fazem backup de todas as tabelas em todos os bancos de dados sem capacidade de excluir nada.