[PostNAS Suite] Datenbanken aufräumen

Jäger, Frank (KRZ) F.Jaeger at KRZ.DE
Fr Jul 14 00:54:20 PDT 2017


Moin,
ich habe gerade wieder ein paar ALKIS-Datenbanken "geschrumpft". Dazu verwende ich folgende Folge von Kommandos (auf der Linux-Konsole):

psql  -d alkis -c "SELECT pg_database_size('alkis');"

psql  -d alkis -c "SELECT alkis_delete_all_endet();"

psql  -d alkis -c "TRUNCATE delete;"

psql  -d alkis -c "TRUNCATE alkis_beziehungen;"

psql  -d alkis -c "TRUNCATE alkis_importlog;"

psql  -d alkis -c "VACUUM full;"

psql  -d alkis -c "SELECT pg_database_size('alkis');"


1. So viel Plattenplatz benötigt die DB aktuell (vorher).

2. Wenn keine Anwendung die Voll-Historie benötigt, aber der Delete-Trigger die gelöschten Objekte nur auf beendet setzt, dann kann diese Function verwendet werden, um alle beendeten Objekte komplett zu entfernen.
Es gab auch mal einen Trigger, der das gleich während der Aktualisierung erledigt. Der ist aber nicht mehr "default". 

3. Beim Eintrag in die Delete-Tabelle wird ein Trigger ausgelöst. Danach ist der Eintrag dann eigentlich nutzlos. Diese Tabelle kann also ab und zu komplett geleert werden.

4. Die Tabelle "alkis_beziehungen" wurde eine Weile lang benutzt um zentral alle Relationen zwischen ALKIS-Objekten zu sammeln. Die aktuellen Versionen des Konverters füllen nun (auch) direkt die Relationen-Felder in den Objekt-Tabellen. Die Tabelle "alkis_beziehungen" ist daher eigentlich überflüssig. Wenn alle Anwendungen und Views auf die Verwendung der Relationen-Spalten umgestellt wurden, dann kann man diese Tabelle regelmäßig leeren. Löschen nutzt nichts, sie wird dann wieder neu angelegt.

5. Der Import-Log des norBIT-ALKIS-Importers ist sehr detailliert und dient der Fehleranalyse. Meist braucht man aber nur die letzte Konvertierung, nicht die komplette Historie.

6. Erst durch VACCUM wird der Platz aus den Löschungen wirklich verfügbar. Dies Kommando sollte man evtl. außerhalb der Produktionszeiten durchführen.

7. Wie 1. Hinterher: Eine Datenbank, die ein paar Monate lang fortgeführt wurde, verbraucht nach dieser Behandlung meist < 50% Plattenplatz wie am Anfang.


ACHTUNG: Wenn eine Anwendung die Historie benötigt oder noch die alkis_beziehungen verwendet, dann sind die entsprechenden Schritte zu überspringen.


Mit freundlichen Grüßen
Frank Jäger

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : smime.p7s
Dateityp    : application/pkcs7-signature
Dateigröße  : 5519 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.osgeo.org/pipermail/nas/attachments/20170714/95da2ce7/attachment.bin>


Mehr Informationen über die Mailingliste NAS