Direkt zum Inhalt

Wie minimiere ich die Ausfallzeiten und optimiere die Leistung bei einem Hauptversions-Upgrade von Amazon RDS für PostgreSQL?

Lesedauer: 3 Minute
0

Ich möchte die Ausfallzeiten minimieren und die Leistung eines Hauptversions-Upgrades meiner Datenbank in Amazon Relational Database Service (Amazon RDS) für PostgreSQL optimieren.

Kurzbeschreibung

Hinweis: Hauptversions-Upgrades können Datenbankänderungen enthalten, die mit deinen vorhandenen Anwendungen nicht kompatibel sind. Stelle vor dem Upgrade sicher, dass du das Upgrade in einer Nicht-Produktionsumgebung gründlich testest. Weitere Informationen findest du unter So führst du ein Hauptversions-Upgrade für RDS für PostgreSQL durch.

Verwende eine der folgenden Methoden, um die Datenbank (DB)-Instance zu aktualisieren:

  • Snapshot-Wiederherstellung
  • Manuelles Upgrade
  • Blau/Grün-Bereitstellung
  • AWS Database Migration Service (AWS DMS)

Voraussetzungen:

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Die Upgrade-Leistung optimieren

Gehe wie folgt vor, um potenzielle Probleme bei der Durchführung des Hauptversions-Upgrades der Engine zu minimieren:

Führe den folgenden Befehl aus, um Transaktionen zu identifizieren, die sich länger als 10 Minuten im Status Wird ausgeführt befinden:

SELECT * FROM pg_stat_activity
WHERE pid <> pg_backend_pid()
AND state in ('idle', 'idle in transaction', 'idle in transaction (aborted)', 'disabled','active')
AND state_change < current_timestamp - INTERVAL '10' MINUTE
AND usename != 'rdsadmin';

Wenn du eine Transaktion mit langer Laufzeit identifizierst, verwende pg_cancel_backend oder pg_terminate_backend, um die Transaktion zu beenden. Weitere Informationen findest du unter Server signaling functions (Server-Signalisierungsfunktionen) auf der PostgreSQL-Website.

Upgrade mit einer Snapshot-Wiederherstellung

Erstelle einen DB-Snapshot der DB-Instance, aktualisiere den Snapshot auf eine neuere Hauptversion und stelle ihn dann auf einer neuen DB-Instance wieder her.

Hinweis: Du musst einen anderen Namen für die neue DB-Instance verwenden, und die Anwendung muss während des Upgrade-Prozesses angehalten werden. Außerdem musst du die Anwendungsendpunkte nach Abschluss des Upgrades aktualisieren.

Die DB-Instance manuell aktualisieren

Informationen zum manuellen Upgrade der DB-Instance findest du unter Manuelles Upgrade der Engine-Version.

Hinweis: Manuelle Datenbank-Upgrades erfordern Ausfallzeiten. Verwende eine Blau/Grün-Bereitstellung, um Ausfallzeiten zu minimieren.

Ein Blau/Grün-Bereitstellung-Upgrade verwenden

Informationen zum Erstellen einer Blau/Grün-Bereitstellung findest du unter Erstellen einer Blau/Grün-Bereitstellung. Wenn du dich in der grünen Umgebung befindest, gib eine neuere Engine-Version an.

Weitere Informationen zu Blau/Grün-Bereitstellungen findest du unter Einschränkungen und Überlegungen zu Amazon-RDS-Blau/Grün-Bereitstellungen.

AWS DMS für ein Upgrade verwenden

Verwende AWS Database Migration Service (AWS DMS), um Daten von der aktuellen DB-Instance zu einer neuen Instance mit der aktualisierten Version zu migrieren. AWS DMS unterstützt Change Data Capture (CDC) für die fortlaufende Replikation.

Die Tabelle pg_statistics aktualisieren

Nachdem du das Upgrade der Hauptversion der Engine abgeschlossen hast, führe den Befehl ANALYZE VERBOSE; für alle Datenbanken aus, um die Tabelle pg_statistics zu aktualisieren. Weitere Informationen findest du unter ANALYZE auf der PostgreSQL-Website.

AWS OFFICIALAktualisiert vor 5 Monaten