Upgrade auf eine neue übergeordnete Version durchführen
Sobald eine Hauptversion das Ende des Lebenszyklus (EOL, End Of Life) erreicht hat, sollten Sie ein Upgrade auf eine aktuelle Hauptversion durchführen.
Suchen Sie die verfügbaren Versionen von Databases for PostgreSQL auf der Seite IBM Cloud catalog auf der Cloud Databases-CLI-Plug-in-Befehl ibmcloud cdb deployables-show
oder über den Endpunkt der Cloud Databases-API /deployables
.
Wenn Sie ein Upgrade auf eine neue Instanz durchführen, müssen Sie auch die Verbindungsinformationen in Ihrer Anwendung ändern.
Voraussetzungen für ein Upgrade auf eine neuere PostgreSQL von PostgreSQL v12
Wenn pg_repack
installiert ist, müssen Sie es entfernen, bevor Sie das Upgrade durchführen. Dies kann mit einem Befehl wie dem folgenden erfolgen:
DROP EXTENSION pg_repack;
Installieren Sie pg_repack
nach dem Upgrade erneut. Dies kann mit dem folgenden Befehl geschehen:
CREATE EXTENSION pg_repack;
Wenn Sie PostGIS, verwenden, müssen Sie zuerst auf PostGIS aktualisieren, bevor Sie PostgresSQL aktualisieren können. Dies kann durch Ausführen des folgenden Befehls für eine Datenbank mit PostGIS erfolgen.
SELECT postgis_extensions_upgrade();
Verwenden Sie die folgende Abfrage, um das Upgrade der Postgis-Erweiterung zu validieren.
SELECT postgis_full_version();
Upgrade von einem Nur-Lese-Replikat durchführen
Führen Sie ein Upgrade durch, indem Sie ein schreibgeschütztes Replikat konfigurieren. Stellen Sie ein schreibgeschütztes Replikat mit der gleichen
Datenbankversion wie Ihre Bereitstellung bereit und warten Sie, bis alle Daten repliziert sind. Wenn Ihre Bereitstellung und die Replik synchronisiert sind, aktualisieren Sie die schreibgeschützte Replik zu einer vollständigen, eigenständigen
Bereitstellung mit der neuen Version der Datenbank. Um den Upgrade- und Promotion-Schritt durchzuführen, verwenden Sie eine POST-Anfrage an den /deployments/{id}/remotes/promotion
endpunkt mit der Version, auf die Sie aktualisieren möchten, im Hauptteil der Anfrage.
Diese Anforderung sieht wie folgt aus:
curl -X POST \
https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/remotes/promotion \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"promotion": {
"version": "14",
"skip_initial_backup": false
}
}' \
skip_initial_backup
ist optional. Wenn true
festgelegt ist, erstellt die neue Bereitstellung keine Erstsicherung wenn die Hochstufung abgeschlossen ist. Ihre neue Bereitstellung ist in kürzerer Zeit verfügbar, wobei
dies auf Kosten einer Sicherung geht. Es wird vor der Ausführung der nächsten automatischen Sicherung keine Sicherung erstellt, sofern Sie keine Sicherung gesondert anfordern.
Probelauf von Hochstufung und Aktualisierung
Um die Auswirkungen größerer Versions-Upgrades zu bewerten, sollten Sie einen Trockenlauf durchführen. Ein Probelauf simuliert die Hochstufung und das Upgrade, wobei die Ergebnisse in die Datenbankprotokolle ausgegeben werden. Greifen Sie über die Log-Analyse-Integration auf Ihre Datenbankprotokolle zu und zeigen Sie sie an. Dadurch wird sichergestellt, dass die derzeitige Version mit ihren Erweiterungen erfolgreich auf die gewünschte Version aktualisiert werden kann.
Für den Probelauf wird für skip_initial_backup
der Wert false
festgelegt und es wird ein Wert für version
definiert.
Der Befehl sieht wie folgt aus:
curl -X POST \
https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/remotes/promotion \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"promotion": {
"version": "14",
"skip_initial_backup": false,
"dry_run": true
}
}' \
Upgrade sichern und wiederherstellen
Sie können ein Upgrade für Ihre Datenbankversion durchführen, indem Sie eine Sicherung Ihrer Daten in einer neuen Implementierung wiederherstellen, die die neue Datenbankversion ausführt.
Upgrade über die Benutzerschnittstelle
Führen Sie ein Upgrade auf eine neue Version durch, wenn Sie über das Menü Sicherungen Ihres _Bereitstellungsdashboards_eine Sicherung wiederherstellen. Klicken Sie bei einem Backup auf Wiederherstellen, um auf einer neuen Registerkarte zur Bereitstellungsseite zu gelangen, wo Sie einige Optionen für die neue Bereitstellung ändern können. Eine der Optionen ist die Datenbankversion, die automatisch mit den Versionen ausgefüllt wird, auf die Sie aktualisieren können. Wählen Sie eine Version aus und klicken Sie auf Erstellen, um den Bereitstellungs- und Wiederherstellungsprozess zu starten.
Upgrade über die Befehlszeilenschnittstelle
Um ein Upgrade und eine Wiederherstellung von einem Backup über die IBM Cloud CLI durchzuführen, verwenden Sie den Provisioning-Befehl vom Resource Controller aus.
ibmcloud resource service-instance-create <DEPLOYMENT_NAME_OR_CRN> <SERVICE_ID> <SERVICE_PLAN_ID> <REGION>
Die Parameter service-name
, service-id
, service-plan-id
und region
sind erforderlich. Geben Sie auch -p
mit den Parametern für Version und Sicherungs-ID in einem JSON-Objekt
an. Die neue Bereitstellung hat automatisch eine Platte und einen Speicher derselben Größe wie die Quellenbereitstellung zum Zeitpunkt der Sicherung.
Dieser Befehl sieht wie folgt aus:
ibmcloud resource service-instance-create example-upgrade databases-for-postgresql standard us-south \
-p \ '{
"backup_id": "crn:v1:bluemix:public:databases-for-postgresql:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
"version":14
}'
Upgrade über die Anwendungsprogrammierschnittstelle
Führen Sie die erforderlichen Schritte zur Verwendung der Resource-Controller-API durch, bevor Sie sie für
ein Upgrade von einem Backup verwenden. Senden Sie dann eine POST
Anfrage an die API. Die Parameter name
, target
, resource_group
und resource_plan_id
sind erforderlich. Geben
Sie auch die Version und die Sicherungs-ID an. Die neue Bereitstellung verfügt über die gleiche Speicher- und Plattenzuordnung wie die Quellenbereitstellung zum Zeitpunkt der Sicherung.
Dieser Befehl sieht wie folgt aus:
curl -X POST \
https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"name": "my-instance",
"target": "bluemix-us-south",
"resource_group": "5g9f447903254bb58972a2f3f5a4c711",
"resource_plan_id": "databases-for-postgresql-standard",
"backup_id": "crn:v1:bluemix:public:databases-for-postgresql:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
"version":14
}'
Erzwungenes Upgrade
Nach dem End-of-Life-Datum werden alle aktiven Databases for PostgreSQL Implementierungen auf der veralteten Version zwangsweise auf die nächste unterstützte Version aktualisiert. Zum Beispiel wird PostgreSQL Version 12 (veraltet) auf Version 13 aktualisiert.
Rüsten Sie vor dem End-of-Life-Datum auf, um die folgenden Risiken zu vermeiden:
- Für diese Art von erzwungenem Upgrade sind keine SLAs vorgesehen.
- Es kann zu einem Datenverlust kommen.
- Es kann zu längeren Ausfallzeiten Ihrer Anwendung kommen.
- Ihre Anwendung funktioniert möglicherweise nicht mehr, wenn sie mit der neuen Version nicht kompatibel ist.
- Sie haben keinen Einfluss darauf, wann dieses Upgrade für Ihren Einsatz durchgeführt wird.
- Für dieses erzwungene Upgrade gibt es keinen Rollback-Prozess.
Die Daten für das Ende der Lebensdauer finden Sie auf der Seite mit den Versionsrichtlinien.