Em 02-08-2012 13:53, Eurides Baptistella escreveu:
 > Então, não deveria mesmo existir, mas deve ter ficado outros arquivos
 > “presos” fazendo com o Postgres ficasse em “meio termo”.

Não fale bobagem. Não existe meio termo.

Ou o PostgreSQL parou limpo ou parou forçado.

O tempo para parar limpo é que pode ser maior do que você espera.

Ao parar forçado, o tempo de inicialização é que é maior para recuperar 
o que estava ocorrendo antes da parada.

> A versão do Postgres que utilizamos é a 8.2.4 e neste caso o SO é
> OpenSuse 11.3(64)

Sua versão do PostgreSQL está obsoleta e não possui mais suporte e 
atualizações.

Aliás, a última atualização da versão 8.2 foi 8.2.23!!!
A versão 8.2.4 é EXTREMAMENTE (gritando mesmo) bugada.

Se você não pode fugir da versão 8.2, use 8.2.23. É mandatório.

O correto mesmo seria você usar uma versão suportada, 8.3 ou superior, 
sendo que 8.3 este ano morrerá.

> Existe uma rotina de backup que o cliente agendou para as 01h, ela da um
> stop no banco, aguarda alguns segundos e inicializa ele novamente.

Pra quê?

> Iniciei a analise verificando os logs do backup e percebi que quando ele
> parou o banco não conseguiu mais subir, consequentemente gerando backups
> zerados... etc... etc. Então para confirmar que após as 01h o banco não

Não é necessário parar o PostgreSQL para fazer backup.
Leia mais sobre PITR. A versão 8.2 já tinha suporte a isso.

> operou mais eu conferi os logs (pg_clog e serverlog). Além disso
> verifiquei os processos abertos para postmaster, eles não existiam.

Como fez isso?
ps?

>
> O problema exatamente não identifiquei, apenas com a informação de erro
> do postmaster.pid e que o mesmo não conseguia subir, tentei a
> alternativa de start, foi o que resolveu meu problema (mas não sei o que
> ocasionou, só sei que funcionou), gostaria muito de saber o que
> ocasionou, o que aconteceu foi que o postmaster não estava instanciado,
> mas pode haver vários motivos para isso.

Provavelmente outros processos do PostgreSQL (veja abaixo).

> O comando /etc/init.d/postgresql stop utiliza como parâmetro –s –m fast,
> neste caso não espera os clientes desconectarem e desfaz as transações
> abertas, com isso acredito que ele deveria ter contornado o fato de
> possivelmente existirem transações abertas.

Sim, contorna, mas o rollback tem de ocorrer antes do processo sair.
Se uma transação longa estiver em andamento o modo fast vai esperar que 
toda essa transação seja desfeita.

> O que vocês acham?

1) Não pare o banco para fazer backup. Dificilmente é necessário parar o 
PostgreSQL, por qualquer motivo que seja. Normalmente se faz isso apenas 
para uma manutenção no S.O. ou hardware.

2) Atualize sua versão do PostgreSQL conforme eu disse lá em cima. É 
mandatório.

[]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

Responder a