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.
Upgrades der DB-Engine von RDS für PostgreSQL
Es gibt zwei Arten von Upgrades für Ihre PostgreSQL-Datenbank:
-
Betriebssystemupdates – Amazon RDS muss gelegentlich das Ihrer Datenbank zugrunde liegende Betriebssystem aktualisieren, um Sicherheitsmängel zu beheben oder Betriebssystemänderungen anzuwenden. Sie können mithilfe der RDS-Konsole AWS Command Line Interface (AWS CLI) oder der RDS-API entscheiden, wann Amazon RDS Betriebssystemupdates einführt. Weitere Informationen zu Betriebssystem-Aktualisierungen finden Sie unter Updates auf einen anwenden.
-
Datenbank-Engine-Upgrades – Wenn Amazon RDS eine neue Version einer Datenbank-Engine unterstützt, können Sie Ihre Datenbanken auf die neue Version upgraden.
Eine Datenbank ist in diesem Zusammenhang eine RDS für PostgreSQL-DB-Instance oder ein DB-Cluster Multi-AZ .
Es gibt zwei Arten von Engine-Upgrades für PostgreSQL-Datenbanken: Hauptversion-Upgrades und Unterversion-Upgrades.
- Hauptversions-Upgrades
-
Hauptversions-Upgrades können Datenbankänderungen enthalten, die nicht mit vorhandenen Anwendungen rückwärts kompatibel sind. Daher müssen Sie Hauptversions-Upgrades Ihrer Datenbanken manuell durchführen. Sie können ein Hauptversions-Upgrade initiieren, indem Sie Ihre DB-Instance oder Ihren DB-Cluster Multi-AZ ändern. Bevor Sie ein Hauptversion-Upgrade durchführen, sollten Sie die Schritte befolgen, die unter Auswählen einer Hauptversion für ein Upgrade von RDS für PostgreSQL beschrieben werden.
Amazon RDS verarbeitet Multi-AZ wichtige Versions-Upgrades auf folgende Weise:
-
Multi-AZ DB-Instance-Bereitstellung — Amazon RDS aktualisiert gleichzeitig die primäre Instance und alle Standby-Instances. Ihre Datenbank ist möglicherweise für einige Minuten nicht verfügbar, während das Upgrade abgeschlossen wird.
-
Multi-AZ DB-Cluster-Bereitstellung — Amazon RDS aktualisiert gleichzeitig die Reader- und Writer-Instances. Ihre Datenbank ist möglicherweise für einige Minuten nicht verfügbar, während das Upgrade abgeschlossen wird.
Wenn Sie eine DB-Instance mit Lesereplikaten in der Region aktualisieren. aktualisiert Amazon RDS die Replikate zusammen mit der primären DB-Instance.
Amazon RDS aktualisiert keine Multi-AZ DB-Cluster-Read Replicas. Wenn Sie ein Hauptversions-Upgrade eines Multi-AZ DB-Clusters durchführen, ändert sich der Replikationsstatus der Read Replicas auf „Beendet“. Sie müssen die Lesereplikate nach Abschluss des Upgrades manuell löschen und neu erstellen.
Tipp
Sie können die Ausfallzeit, die für ein Upgrade einer Hauptversion erforderlich ist, minimieren, indem Sie eine blue/green Bereitstellung verwenden. Weitere Informationen finden Sie unter Verwenden von Amazon RDS Blue/Green Deployments für Datenbank-Updates.
-
- Unterversion-Upgrades
-
Nebenversions-Upgrades enthalten dagegen nur Änderungen, die mit vorhandenen Anwendungen abwärtskompatibel sind. Sie können ein Nebenversions-Upgrade manuell starten, indem Sie Ihre Datenbank ändern. Alternativ können Sie beim Erstellen oder Ändern einer Datenbank die Option Automatisches Unterversions-Upgrade aktivieren. Hierdurch wird Ihre Datenbank von Amazon RDS automatisch aktualisiert, nachdem die neue Version getestet und genehmigt wurde.
Amazon RDS verarbeitet Multi-AZ kleinere Versions-Upgrades auf folgende Weise:
-
Multi-AZ DB-Instance-Bereitstellung — Amazon RDS aktualisiert gleichzeitig die primäre Instance und alle Standby-Instances. Ihre Datenbank ist möglicherweise für einige Minuten nicht verfügbar, während das Upgrade abgeschlossen wird.
-
Multi-AZ DB-Cluster-Bereitstellung — Amazon RDS aktualisiert die Reader-DB-Instances nacheinander. Dann wechselt eine der Reader-DB-Instances zur neuen Writer-DB-Instance. Amazon RDS aktualisiert dann die alte Writer-Instance (die jetzt eine Reader-Instance ist). Multi-AZ DB-Cluster reduzieren die Ausfallzeit von Upgrades kleinerer Versionen in der Regel auf etwa 35 Sekunden. Bei Verwendung mit dem RDS-Proxy können Sie die Ausfallzeit weiter auf eine Sekunde oder weniger reduzieren. Weitere Informationen finden Sie unter Amazon RDS-Proxy . Alternativ können Sie einen Open-Source-Datenbank-Proxy wie ProxySQL
oder den AWS Advanced JDBC PgBouncer Wrapper Driver verwenden.
Wenn Ihre Datenbank Lesereplikate verwendet, müssen Sie alle Lesereplikate aktualisieren, bevor Sie die Quell-Instance oder den Quell-Cluster aktualisieren.
Weitere Informationen finden Sie unter Automatische Unterversion-Upgrades von RDS für PostgreSQL. Informationen zur manuellen Durchführung eines Unterversionsupgrades finden Sie unter Manuelles Upgraden der Engine-Version.
-
Weitere Informationen zu Datenbank-Engine-Versionen und die Richtlinie zum Verwerfen von Datenbank-Engine-Versionen finden Sie unter Database Engine Versions
Themen
Überlegungen zu PostgreSQL-Upgrades
Um Ihre Datenbanken sicher zu aktualisieren, verwendet Amazon RDS das Dienstprogramm pg_upgrade, das in der PostgreSQL-Dokumentation
Wenn Ihr Aufbewahrungszeitraum für Backups größer als 0 ist, erstellt Amazon RDS während des Upgrade-Prozesses zwei DB-Snapshots. Der erste DB-Snapshot gehört zur Datenbank, bevor Änderungen im Rahmen des Upgrades vorgenommen wurden. Wenn das Upgrade bei Ihren Datenbanken nicht funktioniert, können Sie diesen Snapshot wiederherstellen, um eine Datenbank zu erstellen, auf der die alte Version ausgeführt wird. Der zweite DB-Snapshot wird nach Abschluss des Upgrades übernommen. Diese DB-Snapshots werden automatisch gelöscht, sobald die Aufbewahrungsfrist für Backups abgelaufen ist.
Anmerkung
Amazon RDS nimmt während des Upgrade-Vorgangs nur dann DB-Snapshots auf, wenn Sie für den Aufbewahrungszeitraum des Backups Ihrer Datenbank einen Wert größer als 0 festgelegt haben. Informationen zum Ändern des Aufbewahrungszeitraums für Backups für eine DB-Instance finden Sie unter Ändern einer Amazon-RDS-DB-Instance. Sie können keinen benutzerdefinierten Aufbewahrungszeitraum für Backups für einen DB-Cluster konfigurieren. Multi-AZ
Wenn Sie ein Hauptversions-Upgrade einer DB-Instance durchführen, werden auch alle in der Region befindlichen Lesereplikate automatisch aktualisiert. Nach dem Start des Upgrade-Workflows warten die Lesereplikate auf den erfolgreichen Abschluss des pg_upgrade auf der primären DB-Instance. Dann wartet das Upgrade der primären DB-Instance auf den Abschluss der Upgrades der Lesereplikate. Bis das Upgrade abgeschlossen ist, treten Ausfälle auf. Wenn Sie ein Hauptversions-Upgrade eines Multi-AZ DB-Clusters durchführen, ändert sich der Replikationsstatus seiner Read Replicas in „Beendet“.
Nachdem ein Upgrade abgeschlossen ist, können Sie nicht zur vorherigen Version der DB-Engine zurückkehren. Wenn Sie zur vorherigen Version zurückkehren möchten, stellen Sie den DB-Snapshot wieder her, der vor dem Upgrade erstellt wurde, um eine neue Datenbank zu erstellen.
Finden gültiger Upgrade-Ziele
Wenn Sie das verwenden, AWS-Managementkonsole um eine Datenbank zu aktualisieren, werden die gültigen Upgrade-Ziele für die Datenbank angezeigt. Sie können auch den folgenden AWS CLI Befehl verwenden, um die gültigen Upgrade-Ziele für eine Datenbank zu identifizieren:
Für Linux, macOS oder Unix:
aws rds describe-db-engine-versions \ --engine postgres \ --engine-versionversion-number\ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
Für Windows:
aws rds describe-db-engine-versions ^ --engine postgres ^ --engine-versionversion-number^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
Um beispielsweise die gültigen Upgrade-Ziele für eine PostgreSQL-Datenbank der Version 16.1 zu identifizieren, führen Sie den folgenden Befehl aus: AWS CLI
Für Linux, macOS oder Unix:
aws rds describe-db-engine-versions \ --engine postgres \ --engine-version 16.1 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
Für Windows:
aws rds describe-db-engine-versions ^ --engine postgres ^ --engine-version 16.1 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text