Normalmente utilizo phppgadmin
Export/Import
recurso para esta tarefa, mas quando o banco em questão contém tabelas com grande número de linhas, phpgadmin
simplesmente 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 phppgadmin
método. Portanto, usaremos o pg_dump
comando para fazer o backup de um postgresql
banco de dados e o pg_restore
comando para restaurá-lo em outro postgresql
banco 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 usamoslocalhost
(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áriousername
)-W
– forcepg_dump
a solicitar uma senha antes de conectar ao banco de dados.-F t
– Especifique o formato da saída (usamos at
opção de especificar otar
arquivo adequado para entrada no `pg_restore)database_name
– nome do banco de dados, do qual estamos fazendo backupdatabase_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
,-F
As opções são as mesmas que nopg_dump
, como explicado anteriormente.-d new_database_name
– nome do banco de dados para o qual estamos restaurando o backup (aqui estamos restaurando para onew_database_name
banco 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 _