Skip to main content

Unlogged tables

Reguläre Tabellen in PostgreSQL sind logged - d.h. Änderungen werden in das Write-ahead log (WAL) geschrieben. Das erhöht die Datensicherheit, weil noch nicht final festgeschriebene Änderungen bei einem ungeplanten Absturz der Datenbank aus dem WAL wiederhergestellt werden können.

Benötigt man diese Sicherheit allerdings nicht, kann man darauf verzichten und Tabellen gezielt als UNLOGGED anlegen. Das bietet sich an bei Tabellen, die nur temporäre Daten aufnehmen (z.B. Importdaten, die danach in "richtige" Tabellen übertragen werden). Der Vorteil: das Schreiben in UNLOGGED-Tabellen ist bedeutend schneller.

UNLOGGED-Tabelle anlegen

CREATE UNLOGGED TABLE table_name (
...
);

Bestehende Tabelle zu UNLOGGED ändern

ALTER TABLE table_name SET UNLOGGED;