Durchführen eines Upgrades Ihres Babelfish-Clusters auf eine neue Version - Amazon Aurora

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.

Durchführen eines Upgrades Ihres Babelfish-Clusters auf eine neue Version

Neue Versionen von Babelfish werden mit einigen neuen Versionen der Datenbank-Engine von Aurora PostgreSQL-Datenbank nach Version 13.4 verfügbar. Jede neue Version von Babelfish hat eine eigene Versionsnummer. Wie bei Aurora PostgreSQL verwendet Babelfish das Benennungsschema major.minor.patch für Versionen. Zum Beispiel wurde die erste Babelfish-Version, Babelfish Version 1.0.0, im Rahmen von Aurora PostgreSQL 13.4.0 verfügbar.

Babelfish benötigt keinen separaten Installationsvorgang. Wie unter Erstellen eines DB-Clusters von Babelfish for Aurora PostgreSQL beschrieben, wählen Sie die Option Turn on Babelfish (Babelfish aktivieren) aus, wenn Sie einen DB-Cluster von Aurora PostgreSQL erstellen.

Dementsprechend können Sie Babelfish nicht unabhängig vom unterstützenden Aurora-DB-Cluster aktualisieren. Wenn Sie einen vorhandenen DB-Cluster von Babelfish für Aurora PostgreSQL auf eine neue Version von Babelfish aktualisieren möchten, führen Sie ein Upgrade des DB-Clusters von Aurora PostgreSQL auf eine neue Version durch, die die Version von Babelfish unterstützt, die Sie verwenden möchten. Das Verfahren, das Sie für das Upgrade befolgen, hängt wie folgt von der Version von Aurora PostgreSQL ab, die Ihre Babelfish-Bereitstellung unterstützt.

Hauptversions-Upgrades

Sie müssen die folgenden Aurora-PostgreSQL-Versionen vor dem Upgrade auf Aurora PostgreSQL 15.2 und höher zunächst auf Aurora PostgreSQL 14.6 und höher aktualisieren.

  • Aurora PostgreSQL 13.8 und alle höheren Versionen

  • Aurora PostgreSQL 13.7.1 und alle höheren Nebenversionen

  • Aurora PostgreSQL 13.6.4 und alle höheren Nebenversionen

Sie können Aurora PostgreSQL 14.6 und höhere Versionen auf Aurora PostgreSQL 15.2 und höhere Versionen aktualisieren.

Das Upgrade eines DB-Clusters von Aurora PostgreSQ auf eine neue Hauptversion erfordert mehrere vorbereitende Aufgaben. Weitere Informationen finden Sie unter Durchführen eines Hauptversions-Upgrades. Damit Sie Ihren DB-Cluster von Babelfish für Aurora PostgreSQL erfolgreich aktualisieren können, müssen Sie eine benutzerdefinierte DB-Cluster-Parametergruppe für die neue Aurora-PostgreSQL-Version erstellen. Diese neue Parametergruppe muss dieselben Babelfish-Parametereinstellungen enthalten wie die des Clusters, den Sie aktualisieren. Weitere Informationen und eine Tabelle mit Quellen und Zielen für das Upgrade von Hauptversionen finden Sie unter Durchführen von Upgrades von Babelfish auf eine neue Hauptversion.

Nebenversions-Upgrades und -Patches

Für das Upgrade von Nebenversionen und Patches muss keine neue DB-Cluster-Parametergruppe erstellt werden. Nebenversionen und Patches können den Upgrade-Prozess für Nebenversionen verwenden, unabhängig davon, ob dieser automatisch oder manuell erfolgt. Weitere Informationen und eine Tabelle mit Versionsquellen und -zielen finden Sie unter Durchführen eines Upgrades von Babelfish auf eine neue Nebenversion.

Anmerkung

Bevor Sie ein Haupt- oder Nebenversions-Upgrade durchführen, führen Sie alle ausstehenden Wartungsaufgaben für Ihren Cluster von Babelfish für Aurora PostgreSQL aus.

Durchführen eines Upgrades von Babelfish auf eine neue Nebenversion

Eine neue Nebenversion enthält nur Änderungen, die abwärtskompatibel sind. Eine Patch-Version enthält wichtige Korrekturen, die einer Nebenversion nach ihrer Veröffentlichung hinzugefügt werden. Die Versionsbezeichnung für die erste Version von Aurora PostgreSQL 13.4 lautete beispielsweise Aurora PostgreSQL 13.4.0. Bisher wurden mehrere Patches für diese Nebenversion veröffentlicht, darunter Aurora PostgreSQL 13.4.1, 13.4.2 und 13.4.4. Die für jede Aurora-PostgreSQL-Version verfügbaren Patches finden Sie in der Liste Patch releases (Patch-Versionen) oben in den Versionshinweisen von Aurora PostgreSQL für die entsprechende Version. Ein Beispiel finden Sie unter PostgreSQL 14.3 in den Versionshinweisen für Aurora PostgreSQL.

Wenn Ihr DB-Cluster von Aurora PostgreSQL mit der Option Auto minor version upgrade (Automatisches Unterversion-Upgrade) konfiguriert ist, wird Ihr DB-Cluster von Babelfish für Aurora PostgreSQL während des Wartungsfensters des Clusters automatisch aktualisiert. Weitere Informationen zum automatischen Nebenversions-Upgrade (AmVU) und wie Sie es verwenden, finden Sie unter Automatische Nebenversions-Upgrades für Aurora-DB-Cluster. Wenn Ihr Cluster AmVU nicht verwendet, können Sie Ihren DB-Cluster von Babelfish für Aurora PostgreSQL auf neue Nebenversionen manuell aktualisieren, indem Sie entweder auf Wartungsaufgaben reagieren oder den Cluster so ändern, dass er die neue Version verwendet.

Wenn Sie eine Aurora-PostgreSQL-Version zur Installation auswählen und einen vorhandenen DB-Cluster von Aurora PostgreSQL in der AWS Management Console anzeigen, zeigt die Version nur die major.minor-Ziffern an. In der folgenden Abbildung aus der Konsole wird für einen vorhandenen DB-Cluster von Babelfish für Aurora PostgreSQL mit Aurora PostgreSQL 13.4 beispielsweise ein Upgrade des Clusters auf Version 13.7 empfohlen, eine neue Nebenversion von Aurora PostgreSQL.

Nebenversions-Upgrade für einen DB-Cluster von Aurora PostgreSQL mit Babelfish verfügbar.

Um vollständige Versionsdetails, einschließlich der Patch-Ebene, zu erhalten, können Sie den DB-Cluster von Aurora PostgreSQL mithilfe der Aurora-PostgreSQL-Funktion aurora_version abfragen. Weitere Informationen finden Sie unter aurora_version im Aurora-PostgreSQL-Funktionsreferenz. Ein Beispiel für die Verwendung der Funktion finden Sie in der Prozedur To use the PostgreSQL port to query for version information unter Identifizieren Ihrer Babelfish-Version.

Die folgende Tabelle zeigt die Versionen von Aurora PostgreSQL und Babelfish sowie die verfügbaren Zielversionen, die den Upgrade-Prozess für Nebenversionen unterstützen können.

Aktuelle Quellversionen

Neuestes Upgrade-Ziele

Sonstige verfügbare Upgrade-Versionen

Aurora PostgreSQL Babelfish Aurora PostgreSQLBabelfish Aurora-PostgreSQL-Versionen mit Babelfish-Option

15.4

3.3.0

15.5

3.4.0

15.3.2

3.2.1

15.5

3.4.0

15.4

15.2.4

3.1.3

15.5

3.4.0

15.4

15.3

14.9.1

2.6.0

14.10

2.7.0

14.8.2

2.5.1

14.10

2.7.0

14.9.1

14.7.4

2.4.3

14.10

2.7.0

14.9.1

14.8.2

14.6.4

2.3.3

14.10

2.7.0

14.9.1

14.8.2

14.7.4

14.5.3

2.2.3

14.10

2.7.0

14.9.1

14.8.2

14.7.4

14.6.4

14.3.1

2.1.1

14.6

2.3.0

14.3.0

2.1.0

14.6

2.3.0

14.3.1

13.8

1.4.0

13.9

1.5

13.7.1

1.3.1

13.9

1.5

13.8

13.7.0

1.3.0

13.9

1.5

13.7.1

13.6.4

1.2.4

13.9

1.5

13.7

13.6.3

1.2.1

13.9

1.5

13.7

13.6.4

13.6.2

1.2.1

13.9

1.5

13.7

13.6.4

13.6.1

1.2.0

13.9

1.5

13.7

13.6.4

13.6.0

1.2.0

13.9

1.5

13.7

13.6.4

13.5

1.1.0

13.9

1.5

13.7

13.6

13.4

1.0.0

13.9

1.5

13.7

13.6

13.5

Durchführen von Upgrades von Babelfish auf eine neue Hauptversion

Für ein Hauptversions-Upgrade müssen Sie zuerst Ihren DB-Cluster von Babelfish für Aurora PostgreSQL auf eine Version aktualisieren, die das Hauptversions-Upgrade unterstützt. Wenden Sie dazu Patch-Updates oder Nebenversions-Upgrades auf Ihren DB-Cluster an. Weitere Informationen finden Sie unter Durchführen eines Upgrades von Babelfish auf eine neue Nebenversion.

Die folgende Tabelle zeigt die Versionen von Aurora PostgreSQL und Babelfish, die ein Hauptversions-Upgrade unterstützen können.

Aktuelle Quellversionen

Neuestes verfügbares Upgrade-Ziel

Andere verfügbare Versionen (Nebenversions-Upgrades)

Aurora PostgreSQL Babelfish Aurora PostgreSQLBabelfish Aurora-PostgreSQL-Version (Babelfish-Version)

15.5

3.4.0

16.1

4.0.0

15.4

3.3.0

16.1

4.0.0

15.3

3.2.0

16.1

4.0.0

15.2

3.1.0

16.1

4.0.0

14.10

2.7.0

15.5

3.4.0

14.9

2.6.0

15.5

3.4.0

15.4 (3.3.0)

14.8

2.5.0

15.5

3.4.0

15.4 (3.3.0)

15.3 (3.2.0)

14.7

2.4.0

15.5

3.4.0

15.4 (3.3.0)

15.3 (3.2.0)

15.2(3.1.0)

14.6

2.3.0

15.5

3.4.0

15.4 (3.3.0)

15.3 (3.2.0)

15.2(3.1.0)

13.9

1.5.0

14.6

2.3.0

13.8

1.4.0

14.6

2.3.0

13.7.1

1.3.1

14.6

2.3.0

13.8 (1.4)

13.6.4

1.2.2

14.6

2.3.0

13.8 (1.4)

13.7 (1.3)

Vor dem Durchführen von Upgrades von Babelfish auf eine neue Hauptversion

Ein Upgrade kann zu kurzen Ausfällen führen. Aus diesem Grund empfehlen wir, dass Sie Upgrades während Ihres Wartungsfensters oder in anderen Zeiträumen geringer Auslastung durchführen oder planen.

Vor dem Durchführen eines Hauptversions-Upgrades

  1. Ermitteln Sie die Babelfish-Version Ihres vorhandenen DB-Clusters von Aurora PostgreSQL mithilfe der unter Identifizieren Ihrer Babelfish-Version beschriebenen Befehle. Die Versionsinformationen von Aurora PostgreSQL und Babelfish werden von PostgreSQL verarbeitet. Folgen Sie daher den im Verfahren To use the PostgreSQL port to query for version information beschriebenen Schritten, um die Details zu erhalten.

  2. Überprüfen Sie, ob Ihre Version das Hauptversions-Upgrade unterstützt. Eine Liste der Versionen, die die Funktion zum Upgraden der Hauptversion unterstützen, finden Sie unter Durchführen eines Upgrades von Babelfish auf eine neue Nebenversion. Führen Sie außerdem die vor dem Upgrade erforderlichen Aufgaben durch.

    Wenn Ihre Babelfish-Version beispielsweise auf einem DB-Cluster von Aurora PostgreSQL 13.5 läuft und Sie ein Upgrade auf Aurora PostgreSQL 15.2 durchführen möchten, wenden Sie zuerst alle Nebenversionen und Patches an, um Ihren Cluster auf Aurora PostgreSQL 14.6 zu aktualisieren. Wenn Ihr Cluster Version 14.6. oder höher ausführt, fahren Sie mit dem Upgrade der Hauptversion fort.

  3. Erstellen Sie einen manuellen Snapshot Ihres aktuellen Babelfish-DB-Clusters als Backup. Mit dem Backup können Sie den Cluster auf seine Aurora-PostgreSQL- und Babelfish-Version zurücksetzen und alle Daten auf den Zustand vor dem Upgrade wiederherstellen. Weitere Informationen finden Sie unter Erstellen eines DB-Cluster-Snapshots. Stellen Sie sicher, dass Sie Ihre vorhandene benutzerdefinierte DB-Cluster-Parametergruppe beibehalten, um sie erneut zu verwenden, wenn Sie diesen Cluster auf den Zustand vor dem Upgrade wiederherstellen möchten. Weitere Informationen finden Sie unter Wiederherstellen aus einem DB-Cluster-Snapshot und Überlegungen zu Parametergruppen.

  4. Bereiten Sie eine benutzerdefinierte DB-Cluster-Parametergruppe für die DB-Zielversion von Aurora PostgreSQL vor. Duplizieren Sie die Einstellungen für die Babelfish-Parameter aus Ihrem aktuellen DB-Cluster von Babelfish für Aurora PostgreSQL. Eine Liste aller Babelfish-Parameter finden Sie unter Einstellungen der DB-Cluster-Parametergruppe für Babelfish. Für ein Upgrade der Hauptversion sind für die folgenden Parameter dieselben Einstellungen wie für den Quell-DB-Cluster erforderlich. Damit das Upgrade erfolgreich ist, müssen alle Einstellungen identisch sein.

    • rds.babelfish_status

    • babelfishpg_tds.tds_default_numeric_precision

    • babelfishpg_tds.tds_default_numeric_scale

    • babelfishpg_tsql.database_name

    • babelfishpg_tsql.default_locale

    • babelfishpg_tsql.migration_mode

    • babelfishpg_tsql.server_colation_name

    Warnung

    Wenn die Einstellungen für die Babelfish-Parameter in der benutzerdefinierten DB-Cluster-Parametergruppe für die neue Aurora-PostgreSQL-Version nicht mit den Parameterwerten des Clusters übereinstimmen, den Sie aktualisieren, schlägt die Operation ModifyDBCluster fehl. Die Fehlermeldung InvalidParameterCombination erscheint in der AWS Management Console oder in der Ausgabe des AWS CLI-Befehls modify-db-cluster.

  5. Verwenden Sie die AWS Management Console oder die AWS CLI, um die benutzerdefinierte Parametergruppe für den DB-Cluster zu erstellen. Wählen Sie die entsprechende Aurora-PostgreSQL-Familie für die Version von Aurora PostgreSQL aus, die Sie für das Upgrade benötigen.

    Tipp

    Parametergruppen werden auf der Ebene der AWS-Region verwaltet. Wenn Sie mit der AWS CLI arbeiten, können Sie eine Standardregion für die Konfiguration verwenden, anstatt --region im Befehl anzugeben. Weitere Informationen zur Verwendung der AWS CLI finden Sie unter Schnelleinrichtung im AWS Command Line Interface-Benutzerhandbuch.

Durchführen eines Hauptversions-Upgrades

  1. Führen Sie ein Upgrade des DB-Clusters von Aurora PostgreSQL auf eine neue Hauptversion durch. Weitere Informationen finden Sie unter Upgrade der Aurora-PostgreSQL-Engine auf eine neue Hauptversion.

  2. Starten Sie die Writer-Instance des Clusters neu, damit die Parametereinstellungen wirksam werden.

Nach dem Durchführen von Upgrades auf eine neue Hauptversion

Nach einem Upgrade der Hauptversion auf eine neue Aurora-PostgreSQL-Version ist der IDENTITY-Wert in Tabellen mit einer IDENTITY-Spalte möglicherweise größer (+32) als vor dem Upgrade. Wenn die nächste Zeile in solche Tabellen eingefügt wird, springt der generierte Identitätsspaltenwert demzufolge zur Zahl +32 und die Sequenz beginnt von dort aus. Dieser Zustand wirkt sich nicht negativ auf die Funktionen Ihres Babelfish-DB-Clusters aus. Wenn Sie möchten, können Sie das Sequenzobjekt jedoch auf der Grundlage des Maximalwerts der Spalte zurücksetzen. Stellen Sie dazu eine Verbindung zum T-SQL-Port auf Ihrer Babelfish-Writer-Instance mit sqlcmd oder einem anderen SQL-Server-Client her. Weitere Informationen finden Sie unter Verbinden mit Ihrem DB-Cluster mithilfe eines SQL Server-Clients.

sqlcmd -S bfish-db.cluster-123456789012.aws-region.rds.amazonaws.com,1433 -U sa -P ******** -d dbname

Wenn die Verbindung hergestellt ist, verwenden Sie den folgenden SQL-Befehl, um Anweisungen zu generieren, mit denen Sie das zugehörige Sequenzobjekt als Ausgangswert verwenden können. Dieser SQL-Befehl funktioniert sowohl für Babelfish-Konfigurationen mit einer einzelnen Datenbank als auch mit mehreren Datenbanken. Weitere Informationen zu diesen beiden Bereitstellungsmodellen finden Sie unter Verwenden von Babelfish mit einer einzigen Datenbank oder mehreren Datenbanken.

DECLARE @schema_prefix NVARCHAR(200) = '' IF current_setting('babelfishpg_tsql.migration_mode') = 'multi-db' SET @schema_prefix = db_name() + '_' SELECT 'SELECT setval(pg_get_serial_sequence(''' + @schema_prefix + schema_name(tables.schema_id) + '.' + tables.name + ''', ''' + columns.name + '''),(select max(' + columns.name + ') FROM ' + schema_name(tables.schema_id) + '.' + tables.name + ')); 'FROM sys.tables tables JOIN sys.columns columns ON tables.object_id = columns.object_id WHERE columns.is_identity = 1 GO

Die Abfrage generiert eine Reihe von SELECT-Anweisungen, die Sie dann ausführen können, um den maximalen IDENTITY-Wert zurückzusetzen und etwaige Lücken zu schließen. Im Folgenden wird die Ausgabe gezeigt, wenn die SQL-Server-Beispieldatenbank Northwind verwendet wird, die auf einem Babelfish-Cluster ausgeführt wird.

-------------------------------------------------------- SELECT setval(pg_get_serial_sequence('northwind_dbo.categories', 'categoryid'),(select max(categoryid) FROM dbo.categories)); SELECT setval(pg_get_serial_sequence('northwind_dbo.orders', 'orderid'),(select max(orderid) FROM dbo.orders)); SELECT setval(pg_get_serial_sequence('northwind_dbo.products', 'productid'),(select max(productid) FROM dbo.products)); SELECT setval(pg_get_serial_sequence('northwind_dbo.shippers', 'shipperid'),(select max(shipperid) FROM dbo.shippers)); SELECT setval(pg_get_serial_sequence('northwind_dbo.suppliers', 'supplierid'),(select max(supplierid) FROM dbo.suppliers)); (5 rows affected)

Führen Sie die Anweisungen nacheinander aus, um die Sequenzwerte zurückzusetzen.

Beispiel: Durchführen eines Upgrades des Babelfish-DB-Clusters auf eine Hauptversion

In diesem Beispiel finden Sie eine Reihe von AWS CLI-Befehlen, die erklären, wie ein DB-Cluster von Aurora PostgreSQL 13.6.4, auf dem Babelfish Version 1.2.2 ausgeführt wird, zu Aurora PostgreSQL 14.6 aktualisiert wird. Zunächst erstellen Sie eine benutzerdefinierte DB-Cluster-Parametergruppe für Aurora PostgreSQL 14. Als Nächstes ändern Sie die Parameterwerte so, dass sie denen von Aurora PostgreSQL Version 13 als Quelle entsprechen. Schließlich führen Sie das Upgrade durch, indem Sie den Quell-Cluster ändern. Weitere Informationen finden Sie unter Einstellungen der DB-Cluster-Parametergruppe für Babelfish. In diesem Thema finden Sie auch Informationen zur Verwendung der AWS Management Console zur Durchführung des Upgrades.

Verwenden Sie den CLI-Befehl create-db-cluster-parameter-group, um die DB-Cluster-Parametergruppe für die neue Version zu erstellen.

Für Linux, macOSoder Unix:

aws rds create-db-cluster-parameter-group \ --db-cluster-parameter-group-name docs-lab-babelfish-apg-14 \ --db-parameter-group-family aurora-postgresql14 \ --description 'New custom parameter group for upgrade to new major version' \ --region us-west-1

Wenn Sie diesen Befehl ausführen, wird die benutzerdefinierte DB-Cluster-Parametergruppe in der AWS-Region erstellt. Die Ausgabe entspricht weitgehend der folgenden.

{ "DBClusterParameterGroup": { "DBClusterParameterGroupName": "docs-lab-babelfish-apg-14", "DBParameterGroupFamily": "aurora-postgresql14", "Description": "New custom parameter group for upgrade to new major version", "DBClusterParameterGroupArn": "arn:aws:rds:us-west-1:111122223333:cluster-pg:docs-lab-babelfish-apg-14" } }

Weitere Informationen finden Sie unter Erstellen einer DB-Cluster-Parametergruppe.

Verwenden Sie den CLI-Befehl modify-db-cluster-parameter-group, um die Einstellungen so zu ändern, dass sie mit dem Quell-Cluster übereinstimmen.

Windows:

aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name docs-lab-babelfish-apg-14 ^ --parameters "ParameterName=rds.babelfish_status,ParameterValue=on,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tds.tds_default_numeric_precision,ParameterValue=38,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tds.tds_default_numeric_scale,ParameterValue=8,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tsql.database_name,ParameterValue=babelfish_db,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tsql.default_locale,ParameterValue=en-US,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tsql.migration_mode,ParameterValue=single-db,ApplyMethod=pending-reboot" ^ "ParameterName=babelfishpg_tsql.server_collation_name,ParameterValue=sql_latin1_general_cp1_ci_as,ApplyMethod=pending-reboot"

Die Antwort sieht in etwa so aus:

{ "DBClusterParameterGroupName": "docs-lab-babelfish-apg-14" }

Verwenden Sie den modify-db-cluster CLI-Befehl , um den Cluster so zu ändern, dass er die neue Version und die neue benutzerdefinierte DB-Cluster-Parametergruppe verwendet. Sie geben auch das Argument --allow-major-version-upgrade an, wie im folgenden Beispiel gezeigt.

aws rds modify-db-cluster \ --db-cluster-identifier docs-lab-bfish-apg-14 \ --engine-version 14.6 \ --db-cluster-parameter-group-name docs-lab-babelfish-apg-14 \ --allow-major-version-upgrade \ --region us-west-1 \ --apply-immediately

Verwenden Sie den reboot-db-instance -CLI-Befehl, um die Writer-Instance des Clusters neu zu starten, damit die Parametereinstellungen wirksam werden können.

aws rds reboot-db-instance \ --db-instance-identifier docs-lab-bfish-apg-14-instance-1\ --region us-west-1