Postgresql que se muere

Germán Póo-Caamaño gpoo en calcifer.org
Mar Jul 13 19:22:24 CLT 2010


On Tue, 2010-07-13 at 16:51 -0400, Ricardo Munoz wrote:
>                              From: 
> Ricardo Munoz <rmunoz en tux.cl>
>                          Reply-to: 
> Discusion de Linux en Castellano
> <linux en listas.inf.utfsm.cl>
>                                To: 
> Discusion de Linux en Castellano
> <linux en listas.inf.utfsm.cl>
>                           Subject: 
> Re: Postgresql que se muere
>                              Date: 
> 13/07/2010 13:51
> 
> 
> El 13 de julio de 2010 16:24, AngelD <angeld en froga.net> escribió:
> 
> > El Tue, 13 Jul 2010 02:21:00 -0400
> > Andres Junge <ajunge en totexa.cl> escribió:
> >
> > > Hola
> > > Tenemos un servidor con Asterisk el cual registra todas las
> llamadas
> > > que pasan por el en un servidor postgresql. Todo andaba bien hasta
> que
> > > derrepente el postgresql dejo de atender algunas consultas. Por
> > > ejemplo si le envio:
> > >
> > > asterisk=> SELECT COUNT(*) AS "count" FROM "uso_detalle_anexo"
> WHERE
> > > "dst" = '98263186' AND "anexo" = '117' AND "anyo" = '2008' AND
> "mes" =
> > > '12';
> > > ERROR:  invalid memory alloc request size 1818585462
> > >
> > > Que podra ser. Por donde buscamos?
> >
> >         Me imagino que habrás mirado, pero si la versión es un poco
> > vieja, puede que esté afectada por [1]este problema.
> >
> >        Saludos --- Angel
> >
> >  [1]http://archives.postgresql.org/pgsql-bugs/2006-03/msg00193.php
> >
> 
> da para pensar como tanta gente hizo la pega (buscar en Google) del
> autor
> del primer mail y/o respondieron a la rapida y mal. cualquier usuario
> de un
> motor de base de datos debe saber que
> 
> - el resultado de un SELECT nunca puede ser un mensaje de error de
> memoria
> - el resultado de un servicio mal optimizado nunca puede ser un
> mensaje de
> error de memoria durante su operacion (instruccion SELECT), sino solo
> al
> momento de subir el servicio
> 
> por lo tanto, la unica explicacion logica al problema es que
> 
> - se trata de un bug de Postgres, donde la solucion es actualizar
> ojala
> usando el metodo ofrecido por la distro de Linux
> - se trata de un error de hardware (memoria o disco), donde la
> solucion es reemplazar el hardware malo o cambiar el servicio a otra
> maquina 

El que sea problema de memoria no pasa necesariamente por una falla en
el hardware.  Por ejemplo, es posible que le hayan dicho a Postgres que
dispone más memoria para algunas tareas de las que realmente tiene.  Si
antes no dio problemas, puede ser porque nunca tuvo que pasar el umbral.

Una alternativa es levantar un servidor Postgresql en otra máquina y
realizar las pruebas.  Si el problema persiste, entonces se puede
descartar el hardware (aunque podría ser que la mala cueva este
persiguiendo a Andrés y dicho hw también esté malo ;-)

-- 
Germán Póo-Caamaño
http://www.calcifer.org/



Más información sobre la lista de distribución Linux