Vacuum

Fragen und Probleme zu Verwaltungstools.
phppgadmin und pgadmin bitte in die entsprechenden Foren!

Vacuum

Beitragvon kbsolutions » Do 30. Apr 2009, 11:25

Wenn ich ein VACUUM auf eine bestimmte Tabelle machen möchte, erhalten ich immer folgende Fehlermeldung:

********** Error **********

ERROR: out of memory
SQL state: 53200
Detail: Failed on request of size 236317608.

*************************

Die Tabelle enthält 7 Millionen reltuples bei 135329 relpages

Muss ich etwas an der Konfiguration ändern oder ist diese Tabelle oder eine System-Tabelle korrupt?

Ich mache jetzt eine db_dump und restore..... nur zum testen...

Hat jemand einen sonstigen Tip?
kbsolutions
Neuer Benutzer
 
Beiträge: 26
Registriert: Mi 15. Aug 2007, 18:12

Beitragvon ads » Do 30. Apr 2009, 11:30

Versuch mal den Parameter "maintenance_work_mem" zu erhöhen.

Ansonsten: wie sehen denn deine Konfigurationsparameter zur Speichernutzung aus?
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

PostgreSQL Service & Support
ads
Erfahrener Benutzer
 
Beiträge: 4147
Registriert: Mi 8. Feb 2006, 11:58
Wohnort: MD

Beitragvon kbsolutions » Do 30. Apr 2009, 12:01

maintenance_work_mem ist auf 1024MB eingestellt.

Nach dem Restore auf einem anderen Server mit nur 256MB maintenance_work_mem, kann ich problemlos ein VACUUM auf die Tabelle ausführen...
kbsolutions
Neuer Benutzer
 
Beiträge: 26
Registriert: Mi 15. Aug 2007, 18:12

Beitragvon ads » Do 30. Apr 2009, 12:24

Das beantwortet immer noch nicht meine Frage.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

PostgreSQL Service & Support
ads
Erfahrener Benutzer
 
Beiträge: 4147
Registriert: Mi 8. Feb 2006, 11:58
Wohnort: MD

Beitragvon kbsolutions » Do 30. Apr 2009, 13:20

ich habe die maintenance_work_mem auf 1960MB geändert und es kommt immer noch die gleiche Fehlermeldung. Wenn ich auf 2048MB gehe, erhalte ich die folgende Fehlermeldung:

ERROR: 2097152 is outside the valid range for parameter "maintenance_work_mem" (1024 .. 2097151)


Die weiteren Parameter sind:

max_connections = 500
shared_buffers = 1024MB
temp_buffers = 128MB
effective_cache_size = 6656MB
work_mem = 256MB
maintenance_work_mem = 1960MB
max_fsm_pages = 2000000
max_fsm_relations = 2000
wal_buffers = 128kB


Der Server hat 8GB Ram und läuft auf einem Windows 2003 R2 X64.
Postgres Version 8.3
kbsolutions
Neuer Benutzer
 
Beiträge: 26
Registriert: Mi 15. Aug 2007, 18:12

Beitragvon symbiont » Do 30. Apr 2009, 13:42

Sieht nach einem Bug aus:

2097151 = 0x1FFFFF

wohl ein Überlauf

ERROR: 2097152 is outside the valid range for parameter "maintenance_work_mem" (1024 .. 2097151)


2097151 = 22 bit
1024 = 10 bit

macht in Summe 32 bit

nimm doch ein 64Bit Betrübssyschdem - und natürlich auch die 64bit version von PG ;)
symbiont
Erfahrener Benutzer
 
Beiträge: 1328
Registriert: Mo 17. Mär 2008, 12:45
Wohnort: NULL

Beitragvon akretschmer » Do 30. Apr 2009, 13:45

symbiont hat geschrieben:Sieht nach einem Bug aus:

2097151 = 0x1FFFFF

wohl ein Überlauf


Wohl eher nicht. PG ist auf Fenster 32bit, 2 GByte-Grenze. Da sind 8 GByte, salopp gesprochen, die Perlen, die man vor Säue wirft.

Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5937
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon symbiont » Do 30. Apr 2009, 13:48

akretschmer hat geschrieben:Wohl eher nicht. PG ist auf Fenster 32bit, 2 GByte-Grenze. Da sind 8 GByte, salopp gesprochen, die Perlen, die man vor Säue wirft.

Andreas


du hast die untere grenze vergessen - schau die fehlermeldung nochmal an ..

der begint bereits bei 10 bit - dazu nochmal 22 .. macht wieviel?

ok .. man muss es (Dir zuliebe) ja nicht gleich "bug" nennen ... aber die Fehlermeldung ist scheisse - dass musst zugeben .. ein bug wäre es, wenn bereits vorher eine prüfung vorgesehen waere die aber nicht greif - um gescheite fehlermeldungen zu liefern.
symbiont
Erfahrener Benutzer
 
Beiträge: 1328
Registriert: Mo 17. Mär 2008, 12:45
Wohnort: NULL

Beitragvon symbiont » Do 30. Apr 2009, 13:52

obwohl - bug ist schon korrekt - immerhin hat er die daten ja auch da reingekriegt - und es wird ein innerer zustand erzeugt, mit dem PG umgehen koennen sollte (vacuum). tut es aber nicht ..
symbiont
Erfahrener Benutzer
 
Beiträge: 1328
Registriert: Mo 17. Mär 2008, 12:45
Wohnort: NULL

Beitragvon symbiont » Do 30. Apr 2009, 13:53

akretschmer hat geschrieben:Wohl eher nicht. PG ist auf Fenster 32bit, 2 GByte-Grenze. Da sind 8 GByte, salopp gesprochen, die Perlen, die man vor Säue wirft.

Andreas


wieso ... 32 bit heisst 2 GB per process ... das heisst 2 GB pro Connection .. oder nicht?
Das ist aber auch garnicht das aktuelle Problem - nur eine Randbemerkung
symbiont
Erfahrener Benutzer
 
Beiträge: 1328
Registriert: Mo 17. Mär 2008, 12:45
Wohnort: NULL

Nächste

Zurück zu Sonstige

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron