quinta-feira, 10 de maio de 2007

Restaurando Backups...

Ao se fazer um backup com pg_dump e pg_dumpall, geralmente o resultado é armazenado em arquivos texto. Neste caso, não há problemas em se restaurar o backup. Basta se colar o texto do arquivo em algum programa e submetê-lo ao PostgreSQL.

No entanto, ao se fazer o backup, podem ter sido escolhidas opções de compactação que gerem um backup binário.

Nestas situações, pode ser utilizado o utilitário pg_restore para se recuperar os dados de sua cópia de segurança.

Caso o nome do banco de dados seja especificado, o utilitário recupera os dados dentro do banco. Do contrário, o mesmo transforma os dados recuperados em texto, gravando em um arquivo que pode ser utilizado para fazer uma restauração manual.

A sintaxe abaixo restaura um arquivo para o banco de dados:

pg_restore (caminho do arquivo de backup) -u -d (nome do banco de dados)

-u - faz com que o sistema solicite um usuário com permissões para realizar o restore (criação de objetos, por exemplo)
-d - indica o nome do banco de dados que vai receber o restore

Agora, um exemplo de restore para um arquivo texto:

pg_restore (caminho do arquivo de backup) -u -f (nome do arquivo de destino do restore)

-f - indica o caminho do arquivo texto que vai receber o restore na forma de script SQL

A geração para arquivo texto pode ser aconselhável quando se quer ter maior controle sobre as operações realizadas. No entanto, a descompactação dos dados pode exigir uma boa quantidade de espaço em disco. Meus testes revelaram que o arquivo restaurado chega facilmente a 20 vezes o tamanho do arquivo de backup original.

Um comentário:

Engº Vitor Luiz disse...

Cara não teste ainda mas creio que vc salvou minha vida, tenho um TCC para entregar daqui 3 dias e isto estava me dando dor de cabeça, pois na internet existe pouco material...Um enorme abraço e se possivel colocar mais exemplos de DUMP e Restore para nós meros mortais...Um abraço e saiba que foi de muita valia este tópico