Em 02-08-2012 11:41, Eurides Baptistella escreveu: > Pessoal, peço auxilio com um problema que tive. > > Hoje um servidor com banco Postgres parou e não subia mais, a mensagem > que dava ao tentar iniciar era “pg_ctl: PID file > "/usr/local/pgsql/data/postmaster.pid" does not exist Server running?”.
Engraçado. Esse arquivo não deveria *mesmo* existir ao iniciar o PostgreSQL. Esse arquivo existe quando o PostgreSQL está rodando. Qual é a versão do PostgreSQL e qual seu S.O. e versão? > Procurando em alguns logs do banco, identifiquei que em determinado > momento o serviço foi parado, automaticamente o postmaster.pid foi > excluído mas restou alguma coisa que manteve o serviço como registrado, > a partir dai não eu não conseguia mais subir o banco. Tem certeza que não ficou nenhum dos processos? Como você verificou que o PostgreSQL parou mesmo? > Após alguns testes, executei o comando pg_ctl -D < directory> status e > encontrei o problema, então com pg_ctl -D <directory> start consegui com > que o banco subisse novamente. E qual foi o problema que você encontrou? Você não contou. > Mas a pergunta é porque o banco baixou e não conseguiu mais subir? O que > fez com que apenas parte dos arquivos que identificam que o banco esteja > rodando (postmaster.pid) fossem excluídos (pois quando o banco é parado > esses arquivos são excluídos automaticamente)? Alguém tem essas informações? É necessário saber as versões como pedi acima. O postmaster.pid deve ser removido sim ao parar o banco. > O que acredito é que no momento de parar (/etc/init.d/postgres stop) o > banco tinha conexões em transação ou algo do tipo, e em virtude disso > não conseguiu parar completamente! O que acham ?? Veja os modos de parar o PostgreSQL em [1] (pra versão 9.1). Seu script em /etc/init.d/postgres está fazendo a coisa certa? Por exemplo, no modo immediate o PostgreSQL simplesmente... morre! E ficam coisas pra trás e a resolver na próxima inicialização. E sim, é possível que algum processo tenha ficado funcionando dependendo do tipo de parada que você fez (smart ou fast) e, por isso, a inicialização não funcionou, pra proteger seus dados enquando outro processo ainda está trabalhando. [1] http://www.postgresql.org/docs/9.1/interactive/app-pg-ctl.html []s Flavio Henrique A. Gurgel Consultor e Instrutor 4Linux Tel: +55-11-2125-4747 www.4linux.com.br _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
