Wartung unter PostgreSQL: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Datenbank Tabellen Wartung unter PostgreSQL Da Tabellen auch in PostgreSQL mit der Zeit griß werden können müssen die Tabellen eigentlich regelmässig gewa…“) |
K (Rechtschreibung) |
||
Zeile 1: | Zeile 1: | ||
Datenbank Tabellen Wartung unter PostgreSQL | Datenbank Tabellen Wartung unter PostgreSQL | ||
Da Tabellen auch in PostgreSQL mit der Zeit | Da Tabellen auch in PostgreSQL mit der Zeit groß werden können müssen die Tabellen eigentlich regelmäßig gewartet werden. | ||
Das Problem kann z.b. unter Bareos / Bacula passieren. Bareos / Bacula schreiben den Index in eine Datenbank. Da | Das Problem kann z.b. unter Bareos / Bacula passieren. Bareos / Bacula schreiben den Index in eine Datenbank. Da Tabellen Zeilen, die sich ändern nur zum löschen markiert werden, aber nicht sofort gelöscht werden, wächst die Datenbank nach jedem Backup. | ||
Damit dieser "verschwendete" Speicherplatz wieder | Damit dieser "verschwendete" Speicherplatz wieder genutzt werden kann, müssen die Tabelleneinträge gelöscht werden. Es erfolgt dabei Allerdings nur ein löschen der Tabellen in Hauptspeicher. nicht auf der Festplatte. Das liegt daran, dass der Speicherplatz ja beim nächsten Backup und neuen Daten wieder gebraucht wird. Aber die Datenbank wächst zumindest nicht mehr. | ||
Unter MySQL müsste dazu in | Unter MySQL müsste dazu in regelmäßigen Abständen ein Daten Ex- und Import stattfinden. Bei PostgreSQL gibt es dazu den Befehl vacuumdb. | ||
Wenn in /etc/postgresql.conf der mittels | Wenn in /etc/postgresql.conf der mittels | ||
Zeile 15: | Zeile 15: | ||
autovacuum_analyze_threshold = 50 | autovacuum_analyze_threshold = 50 | ||
Der | Der vacuum-Befehl eingeschaltet wird, dann wird im Beispiel alle 50 neuen Tabellenzeilen eine kleine Wartung ausgeführt. | ||
[[Kategorie:howto]] | [[Kategorie:howto]] |
Aktuelle Version vom 23. Juli 2017, 19:29 Uhr
Datenbank Tabellen Wartung unter PostgreSQL
Da Tabellen auch in PostgreSQL mit der Zeit groß werden können müssen die Tabellen eigentlich regelmäßig gewartet werden.
Das Problem kann z.b. unter Bareos / Bacula passieren. Bareos / Bacula schreiben den Index in eine Datenbank. Da Tabellen Zeilen, die sich ändern nur zum löschen markiert werden, aber nicht sofort gelöscht werden, wächst die Datenbank nach jedem Backup.
Damit dieser "verschwendete" Speicherplatz wieder genutzt werden kann, müssen die Tabelleneinträge gelöscht werden. Es erfolgt dabei Allerdings nur ein löschen der Tabellen in Hauptspeicher. nicht auf der Festplatte. Das liegt daran, dass der Speicherplatz ja beim nächsten Backup und neuen Daten wieder gebraucht wird. Aber die Datenbank wächst zumindest nicht mehr.
Unter MySQL müsste dazu in regelmäßigen Abständen ein Daten Ex- und Import stattfinden. Bei PostgreSQL gibt es dazu den Befehl vacuumdb.
Wenn in /etc/postgresql.conf der mittels
autovacuum = on autovacuum_vacuum_threshold = 50 autovacuum_analyze_threshold = 50
Der vacuum-Befehl eingeschaltet wird, dann wird im Beispiel alle 50 neuen Tabellenzeilen eine kleine Wartung ausgeführt.