Ja tive esse problema em duas maquinas, houve uma queda de energia na maquina onde estava instalado o postgres 8.4 no log do postgresql mostra que houve um desligamento e que foi feita a recuperacao dos dados e depois q ele foi startado normalmente mas na verdade o banco nao inicia mais, e em outro caso eu perdi todos os dados do BD pois não consigui recuperar da pasta data, como resolver esse problema e pq isso acontece?
tem como recuperar BD que nao inicia na pasta data?
segue o log
2010-12-13 15:28:46 BRT LOG: sistema de banco de dados foi interrompido; última execução em 2010-12-13 14:59:34 BRT
2010-12-13 15:28:46 BRT LOG: sistema de banco de dados não foi desligado corretamente; recuperação automática está em andamento
2010-12-13 15:28:46 BRT LOG: registro com tamanho zero em 0/812700
2010-12-13 15:28:46 BRT LOG: redo não é requerido
2010-12-13 15:28:46 BRT FATAL: o sistema de banco de dados está iniciando
2010-12-13 15:28:46 BRT LOG: sistema de banco de dados está pronto para aceitar conexões
2010-12-13 15:28:46 BRT LOG: inicializador do autovacuum foi iniciado
Resolvi o problema era só apagar o arquivo postmaster.PID da pasta data para assim iniciar o servico novamente
Desenterrando o tópico…
Pra completar, no meu caso tive um erro de: "registro com tamanho zero em x/xxxxxxxx"
Apagando o postmaster.pid não resolveu, ele continuava corrompido. O que provocou o erro foi o mesmo caso: energia
Instalei em um outro pc (usei um xp virtual) a mesma versão do postgres que deu pau.
Na nova instalação, na pasta \dada, substitui pelas seguintes pastas do meu BD com problemas…
\base
\global
\pg_clog
\pg_xlog
e o lindo voltou a startar! espero que ajude a alguém
Opa valew pela dica f-schmitt, ja tive casos de não resolver apenas com o .PID tambem, mas não tentei fazer o que você comentou.
Geralmente, substituindo a pasta \data inteira ele já volta, mas esse meu caso foi “peculiar” hehehe
valeu, até+!
Amigo, onde se encontra esse arquivo postmaster.pid ??
To com o mesmo problema, tenho um ubuntu virtual, e teve queda de energia, quando fui start o serviço do postgres, ele deu pau…
controlador@controlador-SciFi:~$ sudo /etc/init.d/postgresql-8.4 start
- Starting PostgreSQL 8.4 database server * The PostgreSQL server failed to start. Please check the log output:
2013-02-21 11:09:38 BRT LOG: sistema de banco de dados foi interrompido; ?ltima execu??o em 2013-02-19 18:20:22 BRT
2013-02-21 11:09:38 BRT LOG: pageaddr 1/47000000 inesperado no arquivo de log 1, segmento 73, deslocalemto 0
2013-02-21 11:09:38 BRT LOG: registro do ponto de controle prim?rio ? inv?lido
2013-02-21 11:09:38 BRT LOG: pageaddr 1/47000000 inesperado no arquivo de log 1, segmento 73, deslocalemto 0
2013-02-21 11:09:38 BRT LOG: registro do ponto de controle secund?rio ? inv?lido
2013-02-21 11:09:38 BRT P?NICO: n?o p?de localizar registro do ponto de controle v?lido
2013-02-21 11:09:38 BRT LOG: processo de inicializa??o (PID 3722) foi terminado pelo sinal 6: Aborted
2013-02-21 11:09:38 BRT LOG: interrompendo inicializa??o porque o processo de inicializa??o falhou
Em windows ele fica na pasta [data] que se escolhe na hora instalação, a pasta onde fica os dados do sgbd…
Linux faz tempo que não uso e realmente não lembro, mas deve seguir o mesmo padrão.