23 fevereiro 2012

* »« † Mick D'arc ™† »« *

DUMP e RESTORE entre Postgresql 7 e 8

    Nenhum comentário:


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

Próximo
« Anterior
Anterior
Próximo »