Wie minimiere ich die Ausfallzeiten und optimiere die Leistung bei einem Hauptversions-Upgrade von Amazon RDS für PostgreSQL?
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:
- AWS Identity and Access Management (IAM)-Berechtigungen zum Ändern von RDS-Instances
- Ein Wartungsfenster für mögliche Ausfallzeiten
- Ein Datenbank-Backup
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:
- Erstelle einen DB-Snapshot.
- Prüfe und erledige ausstehende Wartungsarbeiten.
- Überprüfe die Lesereplikat-Einschränkungen bei PostgreSQL.
- Behebe Transaktionen mit langer Laufzeit.
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.
- Themen
- Database
- Tags
- PostgreSQL
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor 2 Jahren
AWS OFFICIALAktualisiert vor einem Jahr