Benötigt amazon rds PostgreSQL Vakuum?

12

Es ist nicht klar, ob das automatische Vakuum in rds läuft. Vielen Dank!

Chris Verwandter
quelle
6
Ausführen SHOW autovacuum;. Oder aktivieren Sie die automatische Vakuumprotokollierung und überprüfen Sie die Protokolle. RDS erfordert sicherlich Vakuum, aber ich wäre überrascht, wenn es kein ziemlich aggressives Autovakuum betreiben würde.
Craig Ringer

Antworten:

14

Führen Sie diese Abfrage aus, um anzuzeigen, ob / wann Ihre Tabellen zuletzt gesaugt wurden.

SELECT * FROM pg_stat_all_tables;

Eine Tabelle wird erst gesaugt, wenn der Einfüge- / Aktualisierungs- / Löschschwellenwert von 20% erreicht ist.

Sie können die Einstellung in RDS optimieren, indem Sie eine neue DB-Parametergruppe erstellen und die gewünschte Einstellung ändern.

Rowland Fong Lip
quelle
3

In der RDS-Dokumentation heißt es:

Autovacuum ist standardmäßig für alle neuen Amazon RDS PostgreSQL DB-Instanzen aktiviert, und die zugehörigen Autovacuum-Konfigurationsparameter sind standardmäßig entsprechend festgelegt. Da unsere Standardeinstellungen etwas allgemein gehalten sind, können Sie von der Anpassung der Parameter an Ihre spezifische Arbeitslast profitieren.

Sie können die Aktivierung von Autovacuum mit diesem Befehl überprüfen: SHOW autovacuum; um eine einfache onoder offAntwort zu erhalten.

Mit diesem Befehl erhalten Sie detailliertere Informationen: SELECT name, setting FROM pg_settings WHERE name LIKE '%autovacuum%';

Beispiel für zurückgegebene Daten:

                name                 |  setting  
-------------------------------------+-----------
 autovacuum                          | on
 autovacuum_analyze_scale_factor     | 0.05
 autovacuum_analyze_threshold        | 50
 autovacuum_freeze_max_age           | 200000000
 autovacuum_max_workers              | 3
 autovacuum_multixact_freeze_max_age | 400000000
 autovacuum_naptime                  | 5
 autovacuum_vacuum_cost_delay        | 5
 autovacuum_vacuum_cost_limit        | -1
 autovacuum_vacuum_scale_factor      | 0.1
 autovacuum_vacuum_threshold         | 50
 autovacuum_work_mem                 | -1
 log_autovacuum_min_duration         | -1
 rds.force_autovacuum_logging_level  | disabled

Diese Einstellungen (und weitere vacuumEinstellungen) sind hier für Postgres dokumentiert .

HorsePunchKid
quelle