VACUUM-Vorgänge in PostgreSQL optimieren, überwachen und korrigieren

In diesem Dokument werden die Grundlagen des VACUUM-Vorgangs in PostgreSQL-Datenbanken beschrieben. Außerdem werden die Mechanismen zur Überwachung und Optimierung des Datenbankmoduls beschrieben, das den Zustand der Datenbankinstanzen verwaltet.

PostgreSQL verwendet ein Snapshot-basiertes Gleichzeitigkeitsprotokoll, das mehrere Versionen von Datenzeilen erstellt, während die Daten geändert werden. Diese Datenzeilenversionen werden verwendet, um eine sichtbare Version der Daten mit einem berechneten Snapshot zu lesen, ohne eine Lesesperre für die Datenzeile abzurufen. PostgreSQL verwaltet Transaktions-IDs (eingefügte und gelöschte Transaktions-IDs) für jede Datenzeile und verwendet die Transaktions-IDs zusammen mit dem berechneten Snapshot, um die Sichtbarkeit der Zeile zu bestimmen. Je mehr die Daten aufgrund von alten Datenversionen wachsen, desto mehr Zeit wird auch für das Scannen der Daten (Tabellenscan oder Indexscan) benötigt. Zur Optimierung der Antwortzeit des Scanvorgangs und zur effizienten Nutzung des Speicherplatzes müssen Sie die Versionen und Metadaten (z. B. Transaktions-ID) zurückfordern, die zur Verwaltung der Versionen verwendet werden.

Der Vorgang VACUUM holt die gelöschten Versionen (automatische Speicherbereinigung) und Transaktions-IDs zurück (Transaktions-ID fixieren). Der Vorgang VACUUM arbeitet mit Daten in verschiedenen Modi mit unterschiedlichen Leveln der Datenverfügbarkeit. Das Fixieren von Transaktions-IDs ist für den Zustand des Datenbanksystems von entscheidender Bedeutung, da das System Autoren immer dann blockiert, wenn der verwendete Transaktions-ID-Bereich reservierten Bereich betritt.

Die von Ihnen konfigurierten autovacuum-Jobs versuchen immer wieder, die Transaktions-ID zurückzuholen. Sie können jedoch fehlschlagen. Dieser Fehler ist entweder auf eine unzureichende Konfiguration zurückzuführen oder eine so hohe Erstellungsrate für Transaktions-IDs, sodass der autovacuum-Job bei der Arbeitslast nicht mehr hinterherkommt. In diesem Dokument erfahren Sie, wie Sie die VACUUM-Vorgänge zusammen mit den Mechanismen für die Feinabstimmung und Überwachung verschiedener Aspekte von VACUUM-Vorgängen verwenden.

Übersicht

In diesem Dokument wird Folgendes behandelt:

  • Transaktions-IDs fixieren.
  • Transaktions-IDs überwachen.
  • Speicherplatz freigeben.
  • Automatische Cloud Monitoring-Benachrichtigungen konfigurieren.

Klicken Sie auf die Schaltfläche, um das vollständige Dokument zu lesen:

PDF-Datei herunterladen