RecuperarBasePostgre
De Projetus Wiki
Recuperando uma base PostgreSQL a partir do diretório de instalação
Esse tópico explica como recuperar a base de dados de um cliente sem backup. Porém, é preciso que a pasta de instalação do PostgreSQL esteja íntegra e acessível.
1. Primeiramente é preciso verificar o caminho em que está instalado o PostgreSQL do cliente e onde se encontra a pasta de dados do mesmo. O caminho padrão é "C:\Program Files\PostgreSQL\8.3\data". (Lembrando que a sub-pasta '8.3' varia em função da versão instalada).
2. Copie a pasta 'data' e todo seu conteúdo para um outro local seguro.
3. Desinstale completamente o PostgreSQL.
4. Após a desinstalação, abra um prompt de comando e digite a seguinte linha de comando: 'net user postgres /delete' para excluir o usuário POSTGRES do sistema.
5. Apague a pasta de instalação do PostgreSQL manualmente.
6. Reinstale o PostgreSQL a partir do zero. É preciso prestar atenção a qual a versao do servidor estava instalada anteriormente (8.3, 8.4, etc) e qual o empacotador utilizado (PostgreSQL, EnterpriseDB) para instalar exatamente a mesma versão. Abaixo segue a lista de link para o download dos mais utilizados:
Distribuição Postgre 8.3: http://wwwmaster.postgresql.org/redir/378/f/binary/v8.3.10/win32/postgresql-8.3.10-1.zip Distribuição EnterpriseDB 8.3: http://www.enterprisedb.com/getfile.jsp?fileid=884 Distribuição EnterpriseDB 8.4: http://www.enterprisedb.com/getfile.jsp?fileid=880 Outras versões Postgre: http://www.postgresql.org/ftp/binary/
7. Após instalado, pare o serviço do Postgre (através do menu Iniciar, acesse o sub-menu do Postgre e selecione a opção 'Stop Service' com permissão Administrador).
8. Abra um prompt de comando com permissão Administrador e digite a seguintre linha de comando: 'pg_ctl start -D "<caminho>"', onde <caminho> será substituido pelo caminho completo onde foi feita a cópia da pasta data.
Exemplo: pg_ctl start -D "c:\data"
8.1. Se ao digitar o comando acima uma mensagem de erro referente a TIMESTAMP for exibida, significa que a versao do PostgreSQL está correta, porém a distribuição instalada está errada. Retorne ao passo 1 e instale outra distribuição (Postgre ou EnterpriseDB).
9. Se nenhuma mensagem de erro for apresentada, a recuperação dos dados ocorreu corretamente. Acesse o pgAdmin normalmente e verifique se a base de dados (e os respectivos dados) estão corretos.
