Tablespace nach DB Fehler zu groß

Konfiguration des PostgreSQL Datenbankservers.
Antworten
BeLiaRN1
Neuer Benutzer
Beiträge: 4
Registriert: Fr 1. Nov 2019, 10:20

Tablespace nach DB Fehler zu groß

Beitrag von BeLiaRN1 » Fr 1. Nov 2019, 10:53

Hallo,

ich bin ein postgres Einsteiger und habe folgendes Anliegen:

Der Tablespace einer Datenbank wurde riesig nach einem DB Fehler und verbrauchte in kürzester Zeit den kompletten Speicher auf der Platte.
Der Fehler und damit auch der Speicherverbrauch konnten zwar behoben werden, allerdings ist der Tablespace nach wie vor sehr groß.
Momentan sehe ich hier im Tablespace Directory ca. 30 Dateien mit jeweils einer Größe von 1 GB.

Gibt es eine Möglichkeit diesen zu verkleinern/löschen?
Wir setzen übrigens Posgresql 10 ein. Habt ihr da eine Idee?

akretschmer
Erfahrener Benutzer
Beiträge: 7681
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Tablespace nach DB Fehler zu groß

Beitrag von akretschmer » Fr 1. Nov 2019, 11:13

  • was für ein Fehler?
  • was wurde wie behoben?
  • Autovacuum läuft?
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

BeLiaRN1
Neuer Benutzer
Beiträge: 4
Registriert: Fr 1. Nov 2019, 10:20

Re: Tablespace nach DB Fehler zu groß

Beitrag von BeLiaRN1 » Fr 1. Nov 2019, 11:23

Zum Fehler kann ich nicht viel sagen. Hervorgerufen wurde der Fehler durch ein Update der darüberlingenden Anwendung die seitens des Herstellers später wieder behoben wurden. Anscheinend gab es diverse falsche Verlinkungen zur Datenbank.
Autovacuum ist momentan auskommentiert.

akretschmer
Erfahrener Benutzer
Beiträge: 7681
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Tablespace nach DB Fehler zu groß

Beitrag von akretschmer » Fr 1. Nov 2019, 11:34

  • was zeigt in psql dieser Befehl an: "show autovacuum;" bzw. von einem SQL-Client aus "select setting from pg_settings where name = 'autovacuum';" an?
  • was zeigt "select pg_size_pretty(pg_database_size('test'));" an? (test mit dem Namen der DB ersetzen!)
  • wenn ihr für gewisse Zeit eine Downtime akzeptieren könnt: "vacuum full;" ACHTUNG: das erzeugt Sperren dergestallt, daß die Applikation für die Zeit, wo das läuft, nicht zugreifen kann, UND: es benötigt vorübergehend noch einmal bis ca. dem doppelten Platz, was jetzt schon belegt ist
Schon mal über einen Supportvertrag nachgedacht?
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

BeLiaRN1
Neuer Benutzer
Beiträge: 4
Registriert: Fr 1. Nov 2019, 10:20

Re: Tablespace nach DB Fehler zu groß

Beitrag von BeLiaRN1 » Fr 1. Nov 2019, 11:44

1. on
2. 31 GB
3. Probiere ich aus, einfach "vacuum full"?

akretschmer
Erfahrener Benutzer
Beiträge: 7681
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Tablespace nach DB Fehler zu groß

Beitrag von akretschmer » Fr 1. Nov 2019, 11:46

Okay, damit läuft Autovacuum. Ja, einfach "vacuum full;", das wird aber einige Zeit dauern, alle Anwendungen auf der DB müssen warten und es kann vorübergehend noch einmal bis zu 31GB auf Platte belegen.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

BeLiaRN1
Neuer Benutzer
Beiträge: 4
Registriert: Fr 1. Nov 2019, 10:20

Re: Tablespace nach DB Fehler zu groß

Beitrag von BeLiaRN1 » Mo 4. Nov 2019, 08:50

Vielen Dank, das hat schon geholfen. Die DB ist danach nur noch 2 GB groß. Was ich noch nicht verstehe ist, warum ist autovacuum auf on gestellt wenn es doch auskommentiert ist in der postgres.conf?

akretschmer
Erfahrener Benutzer
Beiträge: 7681
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Tablespace nach DB Fehler zu groß

Beitrag von akretschmer » Mo 4. Nov 2019, 08:52

die postgresql.conf enthält alle möglichen zu setzenden Parameter, wenn Werte da auskommentiert stehen sind das die Default-Werte. Siehe auch die Datei selber, sie enthält diesen Kommenta:

Code: Alles auswählen

# The commented-out settings shown in this file represent the default values.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Antworten