Re: Una pregunta???

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Rodolfo Vegas <vegasster(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Una pregunta???
Date: 2009-05-28 21:42:25
Message-ID: 20090528214225.GG5156@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Rodolfo Vegas escribió:
> Como estan? En estos momentos esoty implementando las subconsultas
> difusas en el from y ya estoy por terminar sal vo por un problema que
> creemos las personas que estamos en el equipo de investigación que es por
> problemas de memoria, les voy a explicar, primero hago un query,
> específicamente este: select * from (select * from personas where
> edad=viejo) as foo; y al principio me da este resultado:
>
> ci | nombre_apellido | edad | Gr.Memb.
> ----------+-------------------------------------+------+----------
> 18167977 | Rodolfo Jose Vegas Gomez | 22 | 0.285714
> 17986853 | Aury Carolina Rodriguez Rodriguez | 22 | 0.285714
> 12773099 | Lilibeth del Carmen Gomez Hernandez | 32 | 1
> 7095645 | Judith Josefina Gomez Hernandez | 42 | 1
> 3289620 | Maria Efigenia de Gomez Hernandez | 65 | 1
> 8789654 | Elizabeth del Vale Gomez Hernandez | 39 | 1
> (6 rows)
>
> que esta bien, cuando vuelvo a repetir el mismo query el servidor se cae; o
> sea, la primera vez si da, ya la segunda repitiendo el mismo query da mal,
> estamos de acuerdo que es problema de memoria pero no sabemos porque ya que
> hacemos los mismos procedimientos que los jefes de proyecto que hicieron
> algo parecido, ahora uno puede determinar en postgre si una estructura esta
> violando segmento, tiene una referencia corrupta a una dirección de
> memoria????? Gracias por la ayuda.

Primero: ¿Estás compilando con --enable-cassert? Eso es fundamental
durante el desarrollo y ayuda a descubrir algunos errores típicos.

Segundo: vas a necesitas manejarte bien con GDB para estudiar las caídas
cuando ocurran. ¿Sabes usarlo a partir de un "core"?

Tercero: al hacer pfree() cuando estás con enable-cassert, las
estructuras se rellenan con 0x7F lo cual ayuda a ver que estás
referenciando memoria después de liberarla. Nota: cuando se libera un
contexto de memoria, se rellena toda la memoria que contenga sin
necesidad de pfree().

Cuarto: ¿sabes lo que son los MemoryContext verdad?

--
Alvaro Herrera http://www.flickr.com/photos/alvherre/
"You're _really_ hosed if the person doing the hiring doesn't understand
relational systems: you end up with a whole raft of programmers, none of
whom has had a Date with the clue stick." (Andrew Sullivan)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-05-28 21:49:53 Re: Implementar Servidor en WinXP?
Previous Message Ricardo Eureka! 2009-05-28 21:29:15 Re: SOT: Utilidades de PostgreSQL sin tener queinstalar PostgreSQL