Adaptives Autovacuum konfigurieren

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite erhalten Sie einen Überblick über das adaptive Autovacuum in AlloyDB Omni und erfahren, wie Sie es konfigurieren.

VACUUM ist ein wichtiger Wartungsvorgang für PostgreSQL-Datenbanken. Damit wird Speicherplatz freigegeben, der von aktualisierten oder gelöschten Zeilen belegt wird, um eine übermäßige Vergrößerung von Tabellen oder Indexen zu vermeiden. Sie wird auch verwendet, um Transaktions-IDs zu fixieren und so Transaktions-ID-Wraparounds zu verhindern, und um die Tabellenstatistiken zu aktualisieren.

Weitere Informationen zum Staubsaugen

Um das Bereinigen und kollektive Aktualisieren der Tabellenstatistiken zu automatisieren, unterstützt AlloyDB Omni die adaptive Autovacuum-Funktion. Mit Adaptive autovacuum wird die Vakuumarbeitslast automatisch angepasst, wenn sich Ihre Arbeitslast ändert. Außerdem werden inaktive Tupel entfernt und Tabellenstatistiken aktualisiert.

Autovacuum sorgt für eine zuverlässige und konsistente Transaktionsleistung der Anwendung und für eine hohe Verfügbarkeit des Systems, indem ein Wraparound der Transaktions-ID verhindert wird.

Standardmäßig ist in AlloyDB Omni das adaptive Autovacuum aktiviert. Sie können das adaptive Autovacuum in AlloyDB Omni mit Datenbank-Flags deaktivieren oder ändern.

Vorteile

Das adaptive Autovacuum bietet folgende Vorteile:

  • Automatische Anpassung von Ressourcen: In AlloyDB Omni werden Ressourcen wie CPU, E/A, Anzahl der VACUUM-Prozesse und Arbeitsspeicher für den VACUUM-Prozess automatisch an den Echtzeitstatus der Arbeitslast und die verfügbaren Ressourcen angepasst, ohne die Systemleistung zu beeinträchtigen.

  • Transaktions-ID-Wraparound verhindern AlloyDB Omni überwacht den Fortschritt von VACUUM und die Geschwindigkeit der Transaktions-ID-Nutzung. Bei Bedarf drosselt AlloyDB Omni die Nutzung der Transaktions-ID, indem jede Tabelle in der Datenbank bereinigt wird. So wird ein Transaktions-ID-Wraparound verhindert.

  • Regelmäßiges VACUUM für Tabellen: AlloyDB Omni löst „autovacuum“ basierend auf der Anzahl der fehlerhaften Tupel und der zu scannenden Seiten aus. Sie entfernt in regelmäßigen Abständen inaktive Tupel, um Bloat in Tabellen oder Indexen zu vermeiden.

  • Blockierende Abfragen automatisch erkennen: AlloyDB Omni erkennt automatisch Blocker wie lang andauernde Transaktionen, verwaiste vorbereitete Transaktionen und verwaiste Replikations-Slots und zeigt Warnmeldungen wie die folgenden im postgres-Log an:

    Found a backend process PROCESS_ID with a long running transaction whose transaction
    id age AGE is larger than or equal to the transaction age threshold AGE_THRESHOLD.
    

Adaptives Autovacuum konfigurieren

Standardmäßig ist die adaptive automatische Bereinigung in AlloyDB Omni aktiviert. Sie können das adaptive Autovakuum deaktivieren, indem Sie das Datenbank-Flag enable_google_adaptive_autovacuum einer Instanz auf off setzen.

AlloyDB Omni unterstützt mehrere Standard-PostgreSQL-Datenbankflags für VACUUM und AUTOVACUUM, z. B. vacuum_cost_delay und autovacuum_vacuum_cost_delay. Sie müssen für keines dieser Flags Werte festlegen, damit das adaptive Autovacuum funktioniert, da es sein Verhalten an Ihre tatsächlichen Arbeitslasten anpasst und optimiert. Wenn Sie Werte für diese Flags festlegen, passt adaptive Autovacuum sein Verhalten an Ihre Einstellungen an.

Eine vollständige Liste der unterstützten PostgreSQL-Datenbank-Flags für „vacuum“ und „autovacuum“ finden Sie unter vacuum-Flags und autovacuum-Flags.