Todo administrador de sistemas pelo menos uma vez ficou com aquele
servidor encostado com meia duzia de clientes que acabaram sendo
esquecidos entre várias migrações.
E é ai que começa o problema, sairam várias versões novas do postgresql e o >dump que você faz no servidor antigo não restaura no novo… o que fazer?
Não estou dizendo que isto irá funcionar em todos os casos, mas em 2 bombas que eu encarei por aqui hoje pelo menos funcionou.
No momento do dump, utilize o usuário postgres (ou equivalente, com
nível de administrador, se rodar com usuário restrito pode dar erro na
hora de importar alguma coisa – pelo menos comigo deram vários). E sete
os seguintes parâmetros:
pg_dump -U postgres -F t -x -i -O -v -f -W arquivodebackup.tar -d bancodedados
-U: usuário
-F: tipo de dump (neste caso t de tar, foi a única forma de resolver os problemas de caracteres)
-x: não envia informações de privilégios (grant/revoke)
-i: ignora versão
-O: não envia dados do owner
-v: verbose, caso dê algum erro no momento de gerar você vê na tela.
-f: arquivo de destino
-d: banco de dados
-W: força o pedido senha
Para fazer o restore utilize obrigatoriamente o usuário que irá utilizar o banco posteriormente, pois lembre-se no momento do backup e do restore mandamos ignorar estas informações.
pg_restore -d bancodedados -F t -i -v -O -x -U usuario -W arquivodebackup.tar
Espero ter ajudado, perdi um tempo razoável brigando com o dump e o restore, a diferença de versão era grande (7.2 e 8.3.8)
Fonte: http://wv.brasilnetwork.com.br
Mais informações sobre Dump e Restore: http://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico/Administra%C3%A7%C3%A3o/Backup_e_Restore
23 fevereiro 2012
DUMP e RESTORE entre Postgresql 7 e 8
Próximo
« Anterior
« Anterior
Anterior
Próximo »
Próximo »