Upgrades der RDS for PostgreSQL-DB-Engine - Amazon Relational Database Service

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 RDS for PostgreSQL-DB-Engine

Es gibt zwei Arten von Upgrades, die Sie für Ihre PostgreSQL-Datenbank verwalten können:

  • Betriebssystem-Updates – 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 DB-Instance von RDS für PostgreSQ oder ein Multi-AZ-DB-Cluster.

Es gibt zwei Arten von Engine-Upgrades für PostgreSQL-Datenbanken: Hauptversions-Upgrades und Nebenversions-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 starten, indem Sie Ihre DB-Instance oder Ihren Multi-AZ-DB-Cluster ändern. Bevor Sie ein Hauptversions-Upgrade durchführen, empfehlen wir Ihnen, die unter beschriebenen Schritte zu befolgen. Auswahl einer Hauptversion für ein RDS for PostgreSQL-Upgrade

Amazon RDS verarbeitet Multi-AZ-Hauptversions-Upgrades auf folgende Weise:

  • Bereitstellung von Multi-AZ-DB-Instances — Amazon RDS aktualisiert gleichzeitig die primäre Instance und alle Standby-Instances. Ihre Datenbank ist möglicherweise einige Minuten lang nicht verfügbar, während das Upgrade abgeschlossen ist.

  • Multi-AZ-DB-Cluster-Bereitstellung — Amazon RDS aktualisiert gleichzeitig die Reader- und Writer-Instances. Ihre Datenbank ist möglicherweise einige Minuten lang nicht verfügbar, während das Upgrade abgeschlossen ist.

Wenn Sie ein Upgrade für eine DB-Instance durchführen, die über regionsinterne Read Replicas verfügt, aktualisiert Amazon RDS die Replikate zusammen mit der primären DB-Instance.

Amazon RDS aktualisiert keine Lesereplikate von Multi-AZ-DB-Clustern. 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 blaue/grüne Implementierung 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. Sie können auch die Option Automatisches Upgrade der Nebenversion aktivieren, wenn Sie eine Datenbank erstellen oder ändern. Das bedeutet, dass Amazon RDS Ihre Datenbank automatisch aktualisiert, nachdem Sie die neue Version getestet und genehmigt haben.

Amazon RDS verarbeitet Multi-AZ-Nebenversions-Upgrades auf folgende Weise:

  • Bereitstellung von Multi-AZ-DB-Instances — Amazon RDS aktualisiert gleichzeitig die primäre Instance und alle Standby-Instances. Ihre Datenbank ist möglicherweise einige Minuten lang nicht verfügbar, während das Upgrade abgeschlossen ist.

  • Multi-AZ-DB-Cluster-Bereitstellung — Amazon RDS aktualisiert die Reader-DB-Instances nacheinander. Dann wird 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 bei kleineren Versions-Upgrades in der Regel auf etwa 35 Sekunden. Bei Verwendung mit RDS Proxy können sie die Ausfallzeiten 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 PgBouncerWrapper Driver verwenden.

Wenn Ihre Datenbank Read Replicas enthält, müssen Sie zuerst alle Read Replicas aktualisieren, bevor Sie die Quell-Instance oder den Quellcluster aktualisieren.

Weitere Informationen finden Sie unter Automatische Upgrades für Nebenversionen RDS für Postgre SQL. Informationen zur manuellen Durchführung eines Unterversionsupgrades finden Sie unter Manuelles Upgraden der Engine-Version.

Weitere Informationen über Datenbank-Engine-Versionen und die Richtlinie zur Ablehnung von Datenbank-Engine-Versionen finden Sie unter Datenbank-Engine-Versionen im Amazon RDS. FAQs

Überlegungen zu PostgreSQL-Upgrades

Um Ihre Datenbanken sicher zu aktualisieren, verwendet Amazon RDS das in der PostgreSQL-Dokumentation beschriebene pg_upgrade Hilfsprogramm

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 Multi-AZ-DB-Cluster konfigurieren.

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. Bei Upgrades der Hauptversion eines Multi-AZ-DB-Clusters ändert sich der Replikationsstatus der Lesereplikate 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.

Suche nach gültigen Upgrade-Zielen

Wenn Sie das verwenden, AWS Management Console 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:

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

aws rds describe-db-engine-versions \ --engine postgres \ --engine-version version-number \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

aws rds describe-db-engine-versions ^ --engine postgres ^ --engine-version version-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

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

aws rds describe-db-engine-versions \ --engine postgres \ --engine-version 16.1 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

aws rds describe-db-engine-versions ^ --engine postgres ^ --engine-version 16.1 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text