Faça backup e restaure um banco de dados postgresql usando linha de comando

Normalmente utilizo phppgadmin Export/Importrecurso para esta tarefa, mas quando o banco em questão contém tabelas com grande número de linhas, phpgadminsimplesmente não consegue realizar a tarefa, durante esse tempo podemos contar com este método. Mesmo caso contrário, este método é mais rápido do que o phppgadminmétodo. Portanto, usaremos o pg_dumpcomando para fazer o backup de um postgresqlbanco de dados e o pg_restorecomando para restaurá-lo em outro postgresqlbanco de dados:

Criando o Dump

Faça o despejo de um banco de dados em postgresql:

$ pg_dump -h localhost -U username -W -F t database_name > database_dump_file.tar

Explicação para as opções de linha de comando usadas:

  • -h localhost– o nome do host do banco de dados que usamos localhost(especifica o nome do host da máquina na qual o servidor está sendo executado.)

  • -U username– o nome de usuário do banco de dados (conecta-se ao banco de dados como usuário username)

  • -W– force pg_dumpa solicitar uma senha antes de conectar ao banco de dados.

  • -F t– Especifique o formato da saída (usamos a topção de especificar o tararquivo adequado para entrada no `pg_restore)

  • database_name – nome do banco de dados, do qual estamos fazendo backup

  • database_dump_file.tar -nome do arquivo de saída

Para obter mais detalhes sobre as opções de linha de comando para `pg dump`, consulte:
pg_dump manpage _

Restaurando o despejo

$ pg_restore -h localhost -U username -W -F t -d new_database_name database_dump_file.tar

Explicação para as opções de linha de comando usadas:

  • -h, -U, -W, -FAs opções são as mesmas que no pg_dump, como explicado anteriormente.

  • -d new_database_name– nome do banco de dados para o qual estamos restaurando o backup (aqui estamos restaurando para o new_database_namebanco de dados)

  • database_dump_file.tar -nome do arquivo de entrada

Para obter mais detalhes sobre as opções de linha de comando para `pg restore`, consulte:
pg_restore manpage _