terça-feira, 5 de maio de 2015

COMO RECUPERAR BANCO DO POSTGRES PELO DIRETÓRIO


Pode acontecer de você precisar recuperar um banco de dados Postgres, mas tendo a seu dispor apenas uma cópia de um HD como backup, e não um arquivo de backup gerado com o comando pg_dump

Neste caso, após algumas tentativas, consegui restaurar o banco e compartilho aqui o procedimento que funcionou comigo. Ou seja, recuperação do banco através dos diretórios. 

Antes de tudo, instale no servidor a versão do Postgres idêntica à versão instalada no backup. 

Depois, pare o serviço Postgres. No caso do Debian, onde a dica foi testada, executei: 


# sh /etc/init.d/postgresql stop 

Depois, copie do backup os seguintes diretórios, substituindo os mesmos diretórios no servidor atual. Por exemplo, usando o Postgres 9.3:
  • /var/lib/postgresql/9.3
  • /usr/share/postgresql/9.3
  • /etc/postgresql/9.3

Obs.: recomendo renomear os diretórios originais para "nome-backup", ao invés de simplesmente substituí-los. 

É necessário dar permissão para um diretório, após a cópia para o servidor: 

# chmod 700 /var/lib/postgresql/9.3 -R 

Inicialmente usei "777", mas o próprio sistema informou que era para mudar para 700, quando tentei iniciar o serviço. 

Depois inicie o serviço: 

# sh /etc/init.d/postgresql start 

Pronto! Se tiver o phpPgAdmin instalado, poderá acessá-lo para visualizar o banco, acessando: 

Talvez exista uma forma mais fácil, mas essa foi a que eu encontrei. 

Foi na base do comando find que encontrei os referidos diretórios e fui copiando para o servidor. 

Espero ajudar alguém na mesma situação.
Abraço! 

Nenhum comentário:

Postar um comentário