sábado, 1 de fevereiro de 2014

Linha de comando para backup e restauração com PostgreSQL

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