IT-Lexikon › Datenbanken › pg_repack

pg_repack

Datenbanken Svenska → Aktualisiert: 2026-09-14

PostgreSQL-Erweiterung, die aufgeblähte Tabellen und Indizes umbaut, ohne sie zu sperren. Die Alternative zu VACUUM FULL, das die Tabelle sperrt, bis es fertig ist.

Gewöhnliches Vacuum verwendet toten Platz wieder, gibt ihn aber nie ans Betriebssystem zurück — eine Tabelle, die durch Masseupdates aufgebläht wurde, bleibt also groß. VACUUM FULL und CLUSTER lösen das, indem sie alles neu schreiben, belegen dabei aber eine exklusive Sperre, die die Tabelle währenddessen unbenutzbar macht — was auf einer Produktionsdatenbank bedeutet, dass es schlicht nie gemacht wird. pg_repack erstellt stattdessen im Hintergrund eine Kopie, fängt währenddessen anfallende Änderungen über einen Trigger und eine Logtabelle ab, wendet sie an und tauscht am Ende mit einer kurzen Sperre die Dateien aus. Der Preis: Man braucht Plattenplatz für eine zweite Kopie der Tabelle, solange es läuft.

← Zurück zum Lexikon