Identifizieren und lösen Sie aggressive Vakuumblocker in - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Identifizieren und lösen Sie aggressive Vakuumblocker in

In PostgreSQL ist das Vacuuming von entscheidender Bedeutung, um die Integrität der Datenbank sicherzustellen, da dadurch Speicherplatz zurückgewonnen und Transaktions-ID-Wraparound-Probleme vermieden werden. Manchmal kann jedoch verhindert werden, dass das Vacuuming wie gewünscht funktioniert, was zu Leistungseinbußen, zu einer Überlastung des Speichers und sogar zu einer Beeinträchtigung der Verfügbarkeit Ihrer DB-Instance durch den Transaktions-ID-Wraparound führen kann. Daher ist die Identifizierung und Lösung dieser Probleme für eine optimale Datenbankleistung und -verfügbarkeit unerlässlich. Weitere Informationen zu Autovacuum finden Sie unter Grundlegendes zu Autovacuum-Umgebungen in Amazon RDS for PostgreSQL PostgreSQL-Umgebungen.

Diese postgres_get_av_diag() Funktion hilft dabei, Probleme zu identifizieren, die den aggressiven Vakuumprozess entweder verhindern oder verzögern. Es werden Vorschläge bereitgestellt, zu denen Befehle zur Behebung des Problems gehören können, wenn es identifiziert werden kann, oder Anleitungen für weitere Diagnosen, wenn das Problem nicht identifiziert werden kann. Aggressive Vakuumblocker werden gemeldet, wenn das Alter den von RDS festgelegten Schwellenwert für die automatische Vakuumierung von 500 Millionen Transaktionen überschreitet. IDs

Wie alt ist die Transaktions-ID?

Die age() Funktion für die Transaktion IDs berechnet die Anzahl der Transaktionen, die seit der ältesten nicht eingefrorenen Transaktions-ID für eine Datenbank (pg_database.datfrozenxid) oder Tabelle (pg_class.relfrozenxid) stattgefunden haben. Dieser Wert gibt die Datenbankaktivität seit dem letzten aggressiven Vakuumvorgang an und hebt die wahrscheinliche Arbeitslast für bevorstehende VACUUM-Prozesse hervor.

Was ist ein aggressives Vakuum?

Bei einem aggressiven VACUUM-Vorgang werden alle Seiten in einer Tabelle umfassend gescannt, einschließlich der Seiten, die normalerweise bei einem normalen Vorgang übersprungen werden. VACUUMs Dieser gründliche Scan zielt darauf ab, Transaktionen, die IDs sich ihrem Höchstalter nähern, „einzufrieren“ und so eine Situation, die als Transaktions-ID-Wraparound bezeichnet wird, effektiv zu verhindern.

postgres_get_av_diag()Um Blocker melden zu können, muss der Blocker mindestens 500 Millionen Transaktionen alt sein.