pg_dump: invalid memory alloc request size

pg_dump: invalid memory alloc request size

am 28.03.2011 08:19:40 von Thomas Guettler

Hallo,

bei pg_dump kam es zu folgendem Fehler:

pg_dump: SQL command failed
pg_dump: Error message from server: FEHLER: invalid memory alloc request s=
ize 1917263986
pg_dump: The command was: COPY public.modwork_historychange (id, statement_=
id, columnname, value_old, value_new) TO stdout;

Bisher war Postgres 8.4.5 im Einsatz. Auch ein Update zu 8.4.7 brachte kein=
e Besserung.

Auch die einzelne Tabelle zu retten ging nicht:

psql -tAc 'COPY public.modwork_historychange (id, statement_id,
columnname, value_old, value_new) TO stdout;' dbname >
backups/historychange.copy

Datentransfer mit COPY fehlgeschlagen: Server beendete die Verbindung
unerwartet
Das heißt wahrscheinlich, daß der Server abnormal beendete
bevor oder während die Anweisung bearbeitet wurde.
Server beendete die Verbindung unerwartet
Das heißt wahrscheinlich, daß der Server abnormal beendete
bevor oder während die Anweisung bearbeitet wurde.
Verbindung zum Server wurde verloren

Im Postgres-Log gab es einen Hinweis auf einen Segmentation-Fault....

So hat es dann doch noch geklappt die Datenbank zu retten:
Erst pg_dump -T modwork_historychange (als diese Tabelle auslassen).

Und dann die Tabelle einzeln, aber mit einem zusätzlichen SELECT:
psql -tAc 'COPY (SELECT * from
modwork_historychange order by 1) TO stdout;'

Die Frage ist nun ob es ein Bug in 8.4.5 war, oder ein Hardwarefehler?

Bisher mache ich nur Backups mit pg_dump, vielleicht ist ein WAL-Backup
auch für die relativ kleine DB sinnvoll....

Thomas


--=20
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_dump: invalid memory alloc request size

am 28.03.2011 09:20:50 von Thomas Markus

Hi,

Das hatte ich auch mal. Du scheinst auf einem 32bit System unterwegs zu=20
sein. Die 1917263986 geht hier nah an 2GB ran. Da hilft ein Wechsel auf=20
ein 64bit System.

Gruss
Thomas


Am 28.03.2011 08:19, schrieb Thomas Guettler:
> Hallo,
>
> bei pg_dump kam es zu folgendem Fehler:
>
> pg_dump: SQL command failed
> pg_dump: Error message from server: FEHLER: invalid memory alloc reque=
st size 1917263986
> pg_dump: The command was: COPY public.modwork_historychange (id, statem=
ent_id, columnname, value_old, value_new) TO stdout;
>
> Bisher war Postgres 8.4.5 im Einsatz. Auch ein Update zu 8.4.7 brachte =
keine Besserung.
>
> Auch die einzelne Tabelle zu retten ging nicht:
>
> psql -tAc 'COPY public.modwork_historychange (id, statement_id,
> columnname, value_old, value_new) TO stdout;' dbname>
> backups/historychange.copy
>
> Datentransfer mit COPY fehlgeschlagen: Server beendete die Verbindung
> unerwartet
> Das heißt wahrscheinlich, daß der Server abnormal beendete
> bevor oder während die Anweisung bearbeitet wurde.
> Server beendete die Verbindung unerwartet
> Das heißt wahrscheinlich, daß der Server abnormal beendete
> bevor oder während die Anweisung bearbeitet wurde.
> Verbindung zum Server wurde verloren
>
> Im Postgres-Log gab es einen Hinweis auf einen Segmentation-Fault....
>
> So hat es dann doch noch geklappt die Datenbank zu retten:
> Erst pg_dump -T modwork_historychange (als diese Tabelle auslassen).
>
> Und dann die Tabelle einzeln, aber mit einem zusätzlichen SELECT:
> psql -tAc 'COPY (SELECT * from
> modwork_historychange order by 1) TO stdout;'
>
> Die Frage ist nun ob es ein Bug in 8.4.5 war, oder ein Hardwarefehler?
>
> Bisher mache ich nur Backups mit pg_dump, vielleicht ist ein WAL-Backup
> auch für die relativ kleine DB sinnvoll....
>
> Thomas
>
>


--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_dump: invalid memory alloc request size

am 28.03.2011 09:35:50 von Thomas Guettler

On 28.03.2011 09:02, Susanne Ebrecht wrote:
> On 28.03.2011 08:19, Thomas Guettler wrote:
>> Hallo,
>>
>> bei pg_dump kam es zu folgendem Fehler:
>>
>> pg_dump: SQL command failed
>> pg_dump: Error message from server: FEHLER: invalid memory alloc
>> request size 1917263986
>=20
> Hallo Thomas,
>=20
> durch Zufall habe ich genau diesen Teil der Dokumentations-Übersetzung
> am WE hochgeladen:
>=20
> http://doc.postgres.de/postgresql_9.0.3/backup-dump.html#BAC KUP-DUMP-LARGE

Hallo Susanne,

danke für den Hinweis. Die Dateigröße dürfte aber kein Problem
gewesen sein. Der Fehler ist bei 'pg_dump -Fc' aufgetreten.
Die erstellte Datei hat 1.7GByte und die besagte Tabelle 5.6 Millionen
Einträge.

Thomas

PS: Die E-Mail ging nur an mich. Warum setzt die Mailinglisten Software nic=
ht automatisch
das reply-to zur Liste?

--=20
Thomas Guettler, http://www.tbz-pariv.de/
Bernsdorfer Str. 210-212, 09126 Chemnitz, Tel.: 0371/5347-917
TBZ-PARIV GmbH Geschäftsführer: Dr. Reiner Wohlgemuth
Sitz der Gesellschaft: Chemnitz Registergericht: Chemnitz HRB 8543

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_dump: invalid memory alloc request size

am 28.03.2011 09:38:27 von Thomas Guettler

On 28.03.2011 09:02, Susanne Ebrecht wrote:
> On 28.03.2011 08:19, Thomas Guettler wrote:
>> Hallo,
>>
>> bei pg_dump kam es zu folgendem Fehler:
>>
>> pg_dump: SQL command failed
>> pg_dump: Error message from server: FEHLER: invalid memory alloc
>> request size 1917263986
>=20
> Hallo Thomas,
>=20
> durch Zufall habe ich genau diesen Teil der Dokumentations-Übersetzung
> am WE hochgeladen:
>=20
> http://doc.postgres.de/postgresql_9.0.3/backup-dump.html#BAC KUP-DUMP-LARGE

Hallo Susanne,

danke für den Hinweis. Die Dateigröße dürfte aber kein Problem
gewesen sein. Der Fehler ist bei 'pg_dump -Fc' aufgetreten.
Die erstellte Datei hat 1.7GByte und die besagte Tabelle 5.6 Millionen
Einträge.

Thomas

PS: Die E-Mail ging nur an mich. Warum setzt die Mailinglisten Software nic=
ht automatisch
das reply-to zur Liste?

--=20
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_dump: invalid memory alloc request size

am 28.03.2011 09:52:32 von Thomas Guettler

On 28.03.2011 09:20, Thomas Markus wrote:
> Hi,
>=20
> Das hatte ich auch mal. Du scheinst auf einem 32bit System unterwegs zu
> sein. Die 1917263986 geht hier nah an 2GB ran. Da hilft ein Wechsel auf
> ein 64bit System.

Hallo,

ich bin schon auf einem 64bit System. So weit ich weiß verwaltet Postgres=
eine
Tabelle mit 5 Millionen Einträgen auch auf einem 32bit System.

Hier meine Version:

select version();
PostgreSQL 8.4.7 on x86_64-unknown-linux-gnu, compiled by GCC gcc (SUSE Li=
nux) 4.5.0 20100604 [gcc-4_5-branch revision
160292], 64-bit


Thomas

--=20
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_dump: invalid memory alloc request size

am 28.03.2011 10:09:06 von Thomas Markus

Hi,

hm, es interessiert nur die Breite einer Zeile. Die Anzahl ist egal. Ist=20
das verwendete pg_dump ein 64bit binary? Bzw was sagt ulimit. Ist das=20
evtl dadurch begrenzt?

Gruss
Thomas

Am 28.03.2011 09:52, schrieb Thomas Guettler:
> On 28.03.2011 09:20, Thomas Markus wrote:
>> Hi,
>>
>> Das hatte ich auch mal. Du scheinst auf einem 32bit System unterwegs z=
u
>> sein. Die 1917263986 geht hier nah an 2GB ran. Da hilft ein Wechsel au=
f
>> ein 64bit System.
> Hallo,
>
> ich bin schon auf einem 64bit System. So weit ich weiß verwaltet Post=
gres eine
> Tabelle mit 5 Millionen Einträgen auch auf einem 32bit System.
>
> Hier meine Version:
>
> select version();
> PostgreSQL 8.4.7 on x86_64-unknown-linux-gnu, compiled by GCC gcc (SU=
SE Linux) 4.5.0 20100604 [gcc-4_5-branch revision
> 160292], 64-bit
>
>
> Thomas
>


--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_dump: invalid memory alloc request size

am 28.03.2011 10:36:24 von Thomas Guettler

On 28.03.2011 10:09, Thomas Markus wrote:
> Hi,
>=20
> hm, es interessiert nur die Breite einer Zeile. Die Anzahl ist egal. Ist
> das verwendete pg_dump ein 64bit binary? Bzw was sagt ulimit. Ist das
> evtl dadurch begrenzt?

Hallo,

die Zeilen sind recht schmal. Die breiteste Zeile der COPY Ausgabe ist 3500=
Bytes lang.
Das pg_dump Programm ist auch 64Bit.

Komisch ist nur, dass das nicht geht:

psql -tAc 'COPY public.modwork_historychange (id, statement_id,
columnname, value_old, value_new) TO stdout;' dbname

während das funktioniert:

psql -tAc 'COPY (SELECT id, statement_id,
columnname, value_old, value_new from
modwork_historychange order by 1) TO stdout;'

Ich denke das war ein interner Fehler, vielleicht aufgrund eines Bit-Fehler=
s auf dem RAID oder
im RAM.

Thomas

PS: Mein dump+restore war ja inzwischen erfolgreich. Es funktioniert wieder=
alles.

--=20
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_dump: invalid memory alloc request size

am 28.03.2011 11:00:43 von Susanne Ebrecht

On 28.03.2011 10:36, Thomas Guettler wrote:
> Ich denke das war ein interner Fehler, vielleicht aufgrund eines Bit-Fe=
hlers auf dem RAID oder
> im RAM.
>
> Thomas
>
> PS: Mein dump+restore war ja inzwischen erfolgreich. Es funktioniert wi=
eder alles.

Hallo Thomas,

wenn Du denkst, das Problem liegt an kosmischer Strahlung oder=20
ungünstiger Planetenanordnung,
dann ist alles ok.

Also Problem taucht einmal, aus unerklärlichen Gründen auf und dann n=
ie=20
wieder.

Sollte es häufiger auftreten, muesste es genauer analysiert werden.

Liebe Grüße,

Susanne

--=20
Susanne Ebrecht - 2ndQuadrant
PostgreSQL Development, 24x7 Support, Training and Services
www.2ndQuadrant.com


--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: pg_dump: invalid memory alloc request size

am 28.03.2011 11:15:24 von Thomas Guettler

Hallo

alle Schritte waren reproduzierbar: das COPY ohne SELECT hat
bei einer Tabelle immer zum gleichen Fehler geführt. Auch ein Server
Neustart hat daran nichts geändert.

Das COPY mit sub-SELECT hat funktioniert.

Klingt komisch, war aber so.

Wenn es ein Hardwarefehler war, dann schon vor ein paar Tagen, so dass
die Interne Struktur (unter von data/) defekt war.

Gruß,
Thomas

On 28.03.2011 11:00, Susanne Ebrecht wrote:
> On 28.03.2011 10:36, Thomas Guettler wrote:
>> Ich denke das war ein interner Fehler, vielleicht aufgrund eines
>> Bit-Fehlers auf dem RAID oder
>> im RAM.
>>
>> Thomas
>>
>> PS: Mein dump+restore war ja inzwischen erfolgreich. Es funktioniert
>> wieder alles.
>=20
> Hallo Thomas,
>=20
> wenn Du denkst, das Problem liegt an kosmischer Strahlung oder
> ungünstiger Planetenanordnung,
> dann ist alles ok.
>=20
> Also Problem taucht einmal, aus unerklärlichen Gründen auf und dann n=
ie
> wieder.
>=20
> Sollte es häufiger auftreten, muesste es genauer analysiert werden.
>=20
> Liebe Grüße,
>=20
> Susanne
>=20

--=20
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein