Tenho um banco 9.3 apenas com uma base de dados, quando faço dump nesta
base de dados o arquivo fica apenas com 150MB, mas quando faço dump_all
o arquivo fica com 2,1GB
Segue abaixo comando utilizados:
pg_dumpall -h localhost -p 5432 -U postgres -v -f /backup/dumpall.backup
pg_dump -h localhost -p 5432 -U postgres -F c -v -f /backup/dump.backup base
O segundo comando faz backup apenas do banco de dados postgres, pois não
foi passado o nome do banco de dados.
Esta diferença toda é devido ao pg_dumpall não compactar o arquivo gerado?
A compactação faz a diferença, mas acho que no seu caso faltou
especificar o nome do banco.
Pesquisando na internet recomendaram fazer o seguinte:
* |pg_dumpall --globals-only| (para obter users/roles/etc)
* |pg_dump -Fc (para cada base de dados)|
É uma boa estratégia, pois a restauração a partir dos arquivos custom
pode ser feita usando o modo paralelo do pg_restore.
Mas esta estratégia deixa brechas para falhas, se alguém alterar o nome
de alguma base ou criar uma nova e esquecer de alterar a rotina de dump !!!
Pois é...
Qual a melhor solução?
A que melhor lhe atender, além de utilisar também a estratégia de backup
físico com possibilidade de PITR:
http://www.postgresql.org/docs/9.3/static/continuous-archiving.html
E leia sempre a bíblia do backup PostgreSQL brasileiro:
http://softwarelivre.org/telles/blog/dump-nao-e-backup
[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral