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