RE: Checkpoints en postgres 8.0

From: "Fabio C(dot) Bon" <bon(at)kernel(dot)net(dot)uy>
To: "'Alvaro Herrera'" <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: 'PostgreSQL en Español' <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Checkpoints en postgres 8.0
Date: 2005-07-27 20:22:51
Message-ID: 015d01c592e8$f746d6d0$0501a8c0@fabio
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Leyendo la información aportada ante la siguiente pregunta:

> > 2) Como registro la actividad de checkpoints en el log de
> sucesos de la base
> > de datos ?
>
> www.postgresql.org/docs/8.0/postgres/runtime-config.html

debo admitir que mi pregunta no resulta clara.
Suponiendo que estoy guardando el log en /usr/local/pgsql/logfile y que
estoy capturando log acorde a :
log_min_messages = error

¿ deberia aparecer rastro de cada checkpoint automatico que se realiza ?
En caso de que no sea así, ¿ como o donde verifico que efectivamente se esta
realizando un checkpoint cada 5 minutos ?

Pregunto esto porque, mas alla de los problemas de configuracion que tu
observaste en la DB, si los checkpoints automaticos no se estuvieran
haciendo, esto en si mismo justificaria el porque se perdio la información
de todo un día.
No tengo una prueba cientifica, pero estoy convencido que se perdio datos
desde la noche anterior donde si se realizo el checkpoint forzado por el
pg_dump de respaldo.

Todo mi razonamiento se basa en que tengo entendido que resetxlog limpia la
WAL, pero todo aquella información anterior al ultimo checkpoint ya fue
escrita en la DB.
Por lo cual si los checkpoints se estuvieran haciendo cada 5 minutos, en el
peor caso de perdida de la WAL, solo se perderia los ultimos 5 minutos.

¿ Es correcta mi suposición ?

¿ hay alguna forma de ver la secuencia de checkpoints automaticos o no que
se efectuan sobre la base de datos ?

Fabio

> -----Mensaje original-----
> De: Alvaro Herrera [mailto:alvherre(at)alvh(dot)no-ip(dot)org]
> Enviado el: Miércoles, 27 de Julio de 2005 11:35 a.m.
> Para: Fabio C. Bon
> CC: 'PostgreSQL en Español'
> Asunto: Re: [pgsql-es-ayuda] Checkpoints en postgres 8.0
>
>
> On Wed, Jul 27, 2005 at 10:53:01AM -0300, Fabio C. Bon wrote:
> > Hace unos días tuve un crash en una base de datos y tuve
> problemas de
> > corrupción al levantarla. La única solución fue inicializar
> el log mediante
> > pg_resetxlog.
>
> Quizas habia una solucion mejor que te podiamos haber planteado si
> hubieras preguntado aca. ¿Por que creiste que la unica fue
> pg_resetxlog?
>
> En todo caso deberias haber guardado el xlog antes de resetearlo.
> Cuantos archivos eran?
>
> > Resultado : perdí todos los datos del día, aparentemente
> todo lo de los días
> > anteriores al crash que fue sobre las 20:00 horas estaba correcto.
> >
> > Estoy tratando de investigar porque paso esto.
>
> Muy raro ciertamente. Lamentablemente borraste toda la evidencia
> interesante.
>
> Que sistema operativo estas usando, y que version exacta de
> PostgreSQL?
>
> Cual es el valor de fsync en postgresql.conf? Y el de fsync_method?
>
> > Preguntas:
> > 1) Es correcto suponer que si "checkpoint_timeout = 300"
> debería hacerse un
> > checkpoint cada 5 minutos ?
>
> Si.
>
> > 2) Como registro la actividad de checkpoints en el log de
> sucesos de la base
> > de datos ?
>
> www.postgresql.org/docs/8.0/postgres/runtime-config.html
>
> --
> Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
> "Cuando no hay humildad las personas se degradan" (A. Christie)
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-07-27 20:23:55 Re: Checkpoints en postgres 8.0
Previous Message Fabio C. Bon 2005-07-27 19:31:52 RE: Checkpoints en postgres 8.0