Upgrades der RDS for SQL Postgre-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 SQL Postgre-DB-Engine

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

  • Betriebssystem-Updates — Gelegentlich muss Amazon RDS möglicherweise das Ihrer Datenbank zugrunde liegende Betriebssystem aktualisieren, um Sicherheitsupdates oder Betriebssystemänderungen anzuwenden. Sie können mithilfe der RDS Konsole AWS Command Line Interface (AWS CLI) oder entscheiden, wann Amazon RDS Betriebssystemupdates einführt RDSAPI. Weitere Informationen zu Betriebssystem-Aktualisierungen finden Sie unter Anwenden von Updates für eine DB-Instance.

  • Datenbank-Engine-Upgrades — Wenn Amazon eine neue Version einer Datenbank-Engine RDS unterstützt, können Sie Ihre Datenbanken auf die neue Version aktualisieren.

Eine Datenbank ist in diesem Kontext eine RDS für SQL Postgre-DB-Instance oder ein Multi-AZ-DB-Cluster.

Es gibt zwei Arten von Engine-Upgrades für SQL Postgre-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 Upgrade auf eine Hauptversion durchführen, empfehlen wir Ihnen, die unter beschriebenen Schritte zu befolgen. Auswahl einer Hauptversion für ein Upgrade RDS für Postgree SQL

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

Amazon führt RDS kein Upgrade von Multi-AZ-DB-Cluster-Read Replicas durch. 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 Ihre Datenbank nach dem Testen und Genehmigen der neuen Version RDS automatisch aktualisiert. Wenn Ihre SQL Postgre-Datenbank Read Replicas verwendet, müssen Sie zuerst alle Read Replicas aktualisieren, bevor Sie die Quell-Instance oder den Quellcluster aktualisieren.

Wenn es sich bei Ihrer Datenbank um eine Multi-AZ-DB-Instance-Bereitstellung handelt, aktualisiert Amazon RDS gleichzeitig die primäre und alle Standby-Instances. Daher ist Ihre Datenbank möglicherweise erst verfügbar, wenn das Upgrade abgeschlossen ist. Wenn es sich bei Ihrer Datenbank um eine Multi-AZ-DB-Cluster-Bereitstellung handelt, RDS aktualisiert Amazon die Reader-DB-Instances nacheinander. Dann wird eine der Reader-DB-Instances zur neuen Writer-DB-Instance. Amazon aktualisiert RDS dann die alte Writer-Instance (die jetzt eine Reader-Instance ist).

Anmerkung

Die Ausfallzeit bei einem kleineren Versions-Upgrade einer Multi-AZ-DB-Instance-Bereitstellung kann mehrere Minuten dauern. Multi-AZ-DB-Cluster reduzieren die Ausfallzeit bei Upgrades kleinerer Versionen in der Regel auf etwa 35 Sekunden. Bei Verwendung mit RDS Proxy können Sie die Ausfallzeit weiter auf eine Sekunde oder weniger reduzieren. Weitere Informationen finden Sie unter Amazon RDS Proxy verwenden. Alternativ können Sie einen Open-Source-Datenbank-Proxy wie Proxy oder den AWS JDBCDriver for My SQL PgBouncerSQL, verwenden

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 Postgre-Upgrades SQL

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

Wenn Ihre Aufbewahrungsdauer für Backups größer als 0 ist, erstellt Amazon RDS während des Upgrade-Vorgangs 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.

Anmerkung

Amazon RDS erstellt während des Upgrade-Vorgangs nur dann DB-Snapshots, wenn Sie den Aufbewahrungszeitraum für Backups für Ihre Datenbank auf 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 Postgre-Datenbank der SQL Version 12.13 zu identifizieren, führen Sie den folgenden AWS CLI Befehl aus:

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 12.13 \ --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 12.13 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text