Olá galera,
Apesar de ser um assunto já batido na internet, acho que vale a pena mostrar exemplo e detalhar cada parâmetro do comando.
Por questões de comodidade, as vezes utilizo o pgAdmin para criar e restaurar backups. O problema de utilizá-lo é que um backup gerado em uma determinada versão do pgAdmin não pode ser restaurado em uma versão superior.
Utilizaremos duas ferramentas do próprio PostgreSQL: pg_dump e pg_restore. Vale lembrar que para executar os comandos abaixo, você deve estar usando o usuário postgres.
pg_dump -Ft -f meu_arquivo.tar nome_do_banco
No comando acima, estamos gerando o backup do banco no formato tar através do parâmetro -Ft e o parâmetro -f determina o nome do arquivo de saída. Segue abaixo a listagem de parâmetros do pg_dump.
- -p, --port=PORT porta do servidor do banco de dados
- -i, --ignore-version ignora a versão do servidor
- -h, --host=HOSTNAME host do servidor do banco de dados
- -U, --username=NAME conecta ao servidor do banco de dados com um usuário específico
- -W, --password solicita a senha do usuário
- -d, --dbname=NAME conecta ao banco especifícado
- -v, --verbose modo verboso
- -F, --format=c|t|p especifíca o formato de saída (custom, tar, plain text)
- -c, --clean limpa (apaga) o schema antes de recriar
- -b, --blobs inclui blobs no dump
- -f, --file=FILENAME nome do arquivo de saída
pg_restore --dbname=nome_do_banco --verbose path_para_o_arquivo/meu_arquivo.tar
Neste comando, estamos restaurando o backup com o parâmetro dbname especificando o nome do banco de dados. Segue abaixo a listagem de parâmetros do pg_restore.
- -p, --port=PORT porta do servidor do banco de dados
- -i, --ignore-version ignora a versão do servidor
- -h, --host=HOSTNAME host do servidor do banco de dados
- -U, --username=NAME conecta ao servidor do banco de dados com um usuário específico
- -W, --password solicita a senha do usuário
- -d, --dbname=NAME conecta ao banco especifícado
- -v, --verbose modo verboso
Essas ferramentas são bastante úteis, principalmente quando não temos interface gráfica.
Um abraço e até a próxima!
Nenhum comentário:
Postar um comentário