Importação do arquivo .dmp

1. Importação do arquivo .dmp

Jean de Sousa
jeanzinrj

(usa Debian)

Enviado em 30/07/2014 - 14:44h

Amigos,

Estou com uma dúvida estou começando na administração de um banco postgres.

Estou realizando este de migração da versão 8.3 para versão 9.3

arquivo foi gerado na versão 8.3. Quando vou importar o dump na versão 9.3 com o comando

\i arquivo.dmp

gera o seguinte erro:

psql:arquivo.dmp:3310: invalid command \.
psql:arquivo.dmp:3317: ERROR: current transaction is aborted, commands ignored until end of transaction block


alguém sabe me dizer como posso fazer essa importação de uma versão para outra??



  


2. Re: Importação do arquivo .dmp

Pedro Carlos Ferraz
pedrocf

(usa Debian)

Enviado em 30/07/2014 - 15:22h

este dmp é um backup do 8.3?

Se for é só restaurar com o pg_restore


3. Re: Importação do arquivo .dmp

Hugo Cerqueira
hrcerq

(usa Outra)

Enviado em 30/07/2014 - 17:34h

Pelo que sei, o pg_restore é usado somente em restaurações de dumps customizados. Dumps comuns são restaurados via psql mesmo:


psql nomedobanco < arquivodedump.dmp


Ou, se for um dump completo, feito com pg_dumpall, deveria ser restaurado com:


psql -f arquivodedump.dmp postgres


Foi dessa forma que vc tentou fazer a restauração?


4. Re: Importação do arquivo .dmp

Jean de Sousa
jeanzinrj

(usa Debian)

Enviado em 31/07/2014 - 14:51h

hrcerq escreveu:

Pelo que sei, o pg_restore é usado somente em restaurações de dumps customizados. Dumps comuns são restaurados via psql mesmo:


psql nomedobanco < arquivodedump.dmp


Ou, se for um dump completo, feito com pg_dumpall, deveria ser restaurado com:


psql -f arquivodedump.dmp postgres


Foi dessa forma que vc tentou fazer a restauração?


então tentei esses comando que vc colocou também e não consegui.


também já tentei pelo pg_restore

pg_restore opt.30072014.dmp
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.

no servidor de backup da aplicação que são identicos eu utilzou o comando psql serviço # \i arquivo.dmp


5. Re: Importação do arquivo .dmp

Hugo Cerqueira
hrcerq

(usa Outra)

Enviado em 31/07/2014 - 15:53h

Esses comandos que eu te passei vc tentou executar dentro do psql? Porque eles devem ser executados no shell mesmo. Se vc tentou executar no shell, então qual foi o erro que vc recebeu?


6. Re: Importação do arquivo .dmp

Jean de Sousa
jeanzinrj

(usa Debian)

Enviado em 01/08/2014 - 14:30h

hrcerq escreveu:

Esses comandos que eu te passei vc tentou executar dentro do psql? Porque eles devem ser executados no shell mesmo. Se vc tentou executar no shell, então qual foi o erro que vc recebeu?


Digitei sim foi o mesmo erro.


7. Re: Importação do arquivo .dmp

Hugo Cerqueira
hrcerq

(usa Outra)

Enviado em 01/08/2014 - 14:37h

jeanzinrj escreveu:

Digitei sim foi o mesmo erro.


O mesmo erro que no pg_restore?

Você pode detalhar qual comando usou pra gerar o dump?


8. Re: Importação do arquivo .dmp

Jean de Sousa
jeanzinrj

(usa Debian)

Enviado em 01/08/2014 - 18:22h

hrcerq escreveu:

jeanzinrj escreveu:

Digitei sim foi o mesmo erro.


O mesmo erro que no pg_restore?

Você pode detalhar qual comando usou pra gerar o dump?



é um script da aplicação. ele chama o pg_dump

aqui como está no script:

/usr/local/pgsql/bin/pg_dump -h optimusBD -U $DBUser $PG_DATABASE > $OutFile 2>$LogFile


9. Re: Importação do arquivo .dmp

Hugo Cerqueira
hrcerq

(usa Outra)

Enviado em 01/08/2014 - 19:05h

Então ele é o dump de um banco somente. Primeiramente vc precisa saber de que banco é esse dump, pois na aplicação isso é informado pela variável $PG_DATABASE.

Além disso vc precisa também saber quem é o dono desse banco no cluster antigo (8.3) e garantir que ele exista no cluster novo (9.3)

Por fim, outro problema que vc pode estar enfrentando é que o usuário que vc está usando pra fazer a restauração não tem permissão pra executar todas as instruções do dump. Seria mais seguro fazer a restauração com o usuário postgres. Pra isso vc precisa usar o comando assim:


psql -U postgres banco < arquivo.dmp


Apenas substitua "banco" pelo nome do banco que vai ser restaurado e "arquivo.dmp" pelo nome do arquivo de dump que vc tem.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts