Duas das principais ferramentas que uso para realizar backup e restauração de um banco de dados do PostgreSQL são pg_dump e pg_restore; dentro do terminal, logicamento. Não costumo usar ferramentas com interface gráfica.
pg_dump
é uma ferramenta de linha de comando que permite criar um backup completo do seu banco de dados no formato SQL. Este é um método simples e flexível que pode ser usado para criar backups completos ou incrementais.pg_restore
permite restaurar um banco de dados a partir de um arquivo de backup criado pelopg_dump
ou por outras ferramentas de backup.
Criando Bakcup
Para gerar um backup dum banco chamado meu_banco execute:
pg_dump -U postgres -d meu_banco > meu_banco.backup
Acima, o usuário usado foi o postgres.
Restaurando backup
podemos restaurar diretamente para um banco de dados existente:
pg_restore -U postgres -d meu_banco meu_banco.backup
Também podemos criar um script SQL de um backup
pg_restore -U postgres -d meu_banco -O meu_banco.sql meu_banco.backup
Bônus
pg_restore
oferece uma variedade de opções que permitem personalizar o processo de restauração. Algumas das opções mais comuns incluem:
-C
: Permite que você especifique um arquivo de customização para controlar como os objetos do banco de dados são restaurados.-j
: Especifica o número de threads a serem usados para restaurar o banco de dados em paralelo.-v
: Aumenta o nível de verbosidade da saída.--clean
: Remove todos os objetos existentes no banco de destino antes de restaurá-lo.
Veja também: Banco de Dados PostgreSQL: Lista de Comandos