ich kriege seit heute folgende Fehlermeldung wenn ich Vacuum Full + Analyse ausführe (Postgres 9.2)
Was mich sehr verwundert, ist die Tatsache, dass ich noch über 40 GB freien Speicher auf dem Laufwerk besitze.
Die Datenbank selbst hat wohl auch so um die 50GB.
INFO: vacuume »pg_catalog.pg_class«
INFO: »pg_class«: 3 entfernbare, 417 nicht entfernbare Zeilenversionen in 10 Seiten gefunden
DETAIL: 0 tote Zeilenversionen können noch nicht entfernt werden.
CPU 0.00s/0.00u sec elapsed 0.00 sec.
INFO: analysiere »pg_catalog.pg_class«
INFO: »pg_class«: 10 von 10 Seiten gelesen, enthalten 416 lebende Zeilen und 3 tote Zeilen; 416 Zeilen in Stichprobe, schätzungsweise 416 Zeilen insgesamt
INFO: vacuume »public.handhistories«
INFO: »handhistories«: 0 entfernbare, 34663757 nicht entfernbare Zeilenversionen in 5315212 Seiten gefunden
DETAIL: 0 tote Zeilenversionen können noch nicht entfernt werden.
CPU 84.89s/48.70u sec elapsed 705.35 sec.
FEHLER: konnte Datei »base/16864/2049179« nicht erweitern: No space left on device
HINT: Prüfen Sie den freien Festplattenplatz.
FEHLER: konnte Datei »base/16864/2049179« nicht erweitern: No space left on device
HINT: Prüfen Sie den freien Festplattenplatz.
Hat jemand einen Tipp wie ich dieses Problem lösen kann?
Schau, welche Tabelle relfilenode = 2049179 in pg_class hat. Vielleicht ist die wirklich zu groß, vielleicht kannst die separat mit VACUUM behandeln, …
Hey, vielen Dank für den schnellen Tipp.
Wo kann ich denn sehen, welche Tabelle relfilenode = 2049179 in pg_class hat?
Ich finde pg_class unter postgreSQL und dann Tabellen. darunter habe ich dann aber nur spalten und indizes.
Wenn ich dies Vacuum behandele kommt folgendes:
INFO: vacuume »pg_catalog.pg_class«
INFO: »pg_class«: 14 entfernbare, 417 nicht entfernbare Zeilenversionen in 10 Seiten gefunden
DETAIL: 0 tote Zeilenversionen können noch nicht entfernt werden.
CPU 0.00s/0.00u sec elapsed 0.01 sec.
INFO: analysiere »pg_catalog.pg_class«
INFO: »pg_class«: 10 von 10 Seiten gelesen, enthalten 416 lebende Zeilen und 3 tote Zeilen; 416 Zeilen in Stichprobe, schätzungsweise 416 Zeilen insgesamt
Gesamtlaufzeit der Abfrage: 80 ms.
Wenn ich unter public schaue, kann ich allerdings kein pg_class finden.
Könnt ihr mir nochmal weiterhelfen. Bin ein wirklich ganz großer Anfänger im selber administrieren der Datenbank
Danke,
Mathilda
Edit:
Habe mir eben eine Query gebaut im Query Editor auf pg_class
SELECT
pg_class.relfilenode,
pg_class.relname
FROM
pg_catalog.pg_class
WHERE
pg_class.relfilenode = 2049179
ORDER BY
pg_class.relname ASC;
Ich vermute, daß die von Dir im ersten beitrag genannte Fehlermeldung von wegen ‘no space left on device’, also ‘kein Weltraum links von Gerät’ oder in deutsch: “Pladde voll!” stimmt.
Hint ist übersetzt: Hinweis. Damit sollte nun “HINT: Prüfen Sie den freien Festplattenplatz.” klar sein, oder?
Es heißt doch immer es gibt keine dummen Fragen :-0
Was mich halt wundert ist, dass ich noch 40GB Platte frei habe.
Während die Gesamt DB vlt. 50GB hat. Aber er lagert doch nicht die ganze DB aus bei Vacuum, oder wie funktioniert das genau?
Vacuum (full) schreibt die Tabelle neu. Wenn Du eine Tabelle hast, die 41 GB groß ist, und diese wird neu geschrieben, dann fehlt halt bei Dir 1 GB.
Wichtig wäre, erst einmal rauszubekommen, ob Du so große Tabellen hast. Wir können übrigens auch von hier aus nicht sehen, ob wirklich noch 40GB frei und für PG verfügbar sind.
Übrigens:
“INFO: »handhistories«: 0 entfernbare, 34663757 nicht entfernbare Zeilenversionen in 5315212 Seiten gefunden”
Rechne mal aus, wie viel 5315212 mal Seitengröße (HINT: 8KB) sind. Und Du willst ein Vaccum full…