Skip site navigation (1) Skip section navigation (2)

Re: "ERROR: Memoria agotada" - "ERROR: invalid memory alloc request size"

From: Sebastián Villalba <svillalba(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: "ERROR: Memoria agotada" - "ERROR: invalid memory alloc request size"
Date: 2011-06-23 22:43:37
Message-ID: BANLkTi=7deNxv_K21kzi1OAgUQXGB=t6Wg@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El día 23 de junio de 2011 18:37, Sebastián Villalba
<svillalba(at)gmail(dot)com> escribió:
> El día 23 de junio de 2011 17:34, Alvaro Herrera
> <alvherre(at)alvh(dot)no-ip(dot)org> escribió:
>> Excerpts from Sebastián Villalba's message of jue jun 23 13:12:02 -0400 2011:
>>
>>> postgres(at)lagash-ng:~$ /usr/local/pgsql-8.4/bin/pg_dump -p 5432 gesce >
>>> dumps/dumpGesce110623.sql
>>> pg_dump: la orden SQL falló
>>> pg_dump: Mensaje de error del servidor: ERROR:  invalid memory alloc
>>> request size 18446744073709551613
>>> pg_dump: La orden era: COPY public.alumno (id, matricula, tipo_doc,
>>> nro_doc, apellido, nombre, email) TO stdout;
>>
>> Prueba esto en esa tabla:
>> http://alvherre.livejournal.com/4404.html
>
> Hola a todos y muchas gracias por la ayuda. Esto es lo que salió:
>
> gesce=# SELECT * FROM toastcheck_writer('alumno');
> NOTICE:  Successfully created function toastcheck__alumno()
>  toastcheck_writer
> -------------------
>
> (1 fila)
>
> gesce=# SELECT * FROM toastcheck__alumno();
> NOTICE:  TID (2610,36), PK=( 116066 ), column "nro_doc": exception
> {{invalid memory alloc request size 1836016434}}
> el servidor ha cerrado la conexión inesperadamente,
>        probablemente porque terminó de manera anormal
>        antes o durante el procesamiento de la petición.
> La conexión al servidor se ha perdido. Intentando reiniciar: falló.
> !>

¡Excelente!. Finalmente se solucionó gracias a la información que dió
la función de Alvaro pude saber que el problema estaba en la tupla con
ctid (2610,36) y PK (116066).
Hice un "SELECT * FROM alumno WHERE id = 116066;" y ví los datos.
Luego borré ese registro utilizando el id y lo agregué nuevamente
mediante un INSERT común.
El problema persistía exactamente igual que el error anterior e hice:

gesce=# DELETE FROM alumno WHERE ctid = '(2610,36)';
DELETE 1
gesce=# VACUUM alumno;
VACUUM
gesce=# SELECT * FROM toastcheck__alumno();
 toastcheck__alumno
--------------------

(1 fila)

Después de eso, todo quedó arreglado y el comando pg_dump que daba
error se ejecutó sin ningún problema. A todos muchas gracias!

-- 
Sebastián Villalba

In response to

Responses

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2011-06-23 23:32:50
Subject: Re: "ERROR: Memoria agotada" - "ERROR: invalid memory alloc request size"
Previous:From: Jaime CasanovaDate: 2011-06-23 21:53:25
Subject: Re: Ayuda con consulta

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group