O documento explica o que é um dump de banco de dados PostgreSQL, como fazer um dump usando o comando pg_dump e como restaurar uma base de dados a partir de um arquivo SQL gerado por um dump. Também fornece detalhes sobre os atributos do comando pg_dump e alerta que um dump não é o mesmo que um backup completo da base de dados.
2. O que é o Processo de Dump de uma base de dados?
Segundo a documentação do próprio Postgres:
"O dump é um método utilizado para gerar um arquivo com
comandos SQL que, quando executados novamente no
servidor, permitam recriar a base de dados com o mesmo
estado que tinha no momento do dump."
https://www.postgresql.org/docs/10/static/backup-dump.h
tml
3. O Postgres dispõe um utilitário, o pg_dump e a forma
mais simples de executá-lo é:
pg_dump base > arquivo.sql
Isso fará com que o pg_dump acesse a "base" determinada
e gere os comandos sql dentro do "arquivo.sql"
E como posso fazer o DUMP ?
4. E PARA RECUPERAR
como devo proceder ?
De posse do arquivo SQL gerado pelo Dump, primeiro
crie a base de dados:
postgres=# CREATE DATABASE minhabase;
Existe mais de uma forma de restaurar uma base,
mas serão apresentadas apenas duas, considerando
que o arquivo se encontra no mesmo diretório onde
será executado o comando:
1a. Dentro da base
minhabase=# i arquivo.sql
2a. Pela linha de comando usando o psql
psql -h127.0.0.1 -Uusuario minhabase < arquivo.sql
5. ATENÇÃO
Em alguns casos a conexão de banco
de dados exige informar o usuário da
base e o servidor ao qual deseja se
conectar.
Para isso é necessário o uso dos
atributos:
-h <endereço_servidor>
-U <usuário>
Por exemplo, usando o usuário
'postgres' no servidor '127.0.0.1'
psql -Upostgres -h 127.0.0.1
pg_dump -Upostgres -h 127.0.0.1
6. Demonstração - Dump e Restore
Momento 1 - Fazendo o dump
Momento 2 - Restaurando a base em um servidor novo
7. Atributos do
comando pg_dump
O comando pg_dump tem diversos atributos,
porém os mais comuns são:
Atributos de conexão:
-h, --host=MÁQUINA endereço do servidor
-p, --port=PORTA porta do servidor
-U, --username=USUÁRIO usuário do banco
Opções gerais:
-f, --file=ARQUIVO nome do arquivo ou
diretório de saída
-F, --format=c|d|t|p formato do arquivo de
saída (personalizado, diretório, tar, texto)
Para mais atributos execute pg_dump --help
8. ATENÇÃO
Tome muito cuidado para não
confundir o DUMP com o processo de
Backup.
O Dump sim pode ser considerado uma
parte da estratégia de backup da sua
base de dados.
Mais informações na matéria "Dump
não é Backup" -
http://www.savepoint.blog.br/2010/05
/06/dump-nao-e-backup/