Durchführen von Upgrades von Babelfish auf eine neue Hauptversion - 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 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 Upgrade-Ziele

Aurora PostgreSQL (Babelfish) Aurora PostgreSQL (Babelfish)

16,8 (4,5,0)

17,4 (5,10)

16,6 (4,4,0)

17,4 (5,10)

16,4 (4,3,0)

17,4 (5,10)

16,3 (4,2,0)

17,4 (5,10)

16,2 (4,10)

17,4 (5,10)

16,1 (4,0,0)

17,4 (5,10)

15,12 (3,9,0)

17,4 (5,10)

16,8 (4,5,0)

15,10 (3,8,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0)

15,8 (3,7,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0)

15,7 (3,6,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0)

15,6 (3,5,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0)

15,5 (3,4,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

15,4 (3,3,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

15,3 (3,2,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

15,2 (3,10)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

14,17 (2,12,0)

17,4 (5,10)

16,8 (4,5,0)

15,12 (3,9,0)

14,15 (2,11,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0)

15,12 (3,9,0), 15,10 (3,8,0)

14,13 (2,10)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0)

15,12 (3,9,0), 15,10 (3,8,0), 15,8 (3,7,0)

14,12 (2,9,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0)

15,12 (3,9,0), 15,10 (3,8,0), 15,8 (3,7,0), 15,7 (3,6,0)

14,11 (2,8,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0)

15,12 (3,9,0), 15,10 (3,8,0), 15,8 (3,7,0), 15,7 (3,6,0), 15,6 (3,5,0)

14,10 (2,7,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

15,12 (3,9,0), 15,10 (3,8,0), 15,8 (3,7,0), 15,7 (3,6,0), 15,6 (3,5,0), 15,5 (3,4,0)

14,9 (2,6,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

15,12 (3,9,0), 15,10 (3,8,0), 15,8 (3,7,0), 15,7 (3,6,0), 15,6 (3,5,0), 15,5 (3,4,0), 15,4 (3,3,0)

14,8 (2,5,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

15,12 (3,9,0), 15,10 (3,8,0), 15,8 (3,7,0), 15,7 (3,6,0), 15,6 (3,5,0), 15,5 (3,4,0), 15,4 (3,3,0), 15,3 (3,2,0)

14,7 (2,4,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

15,12 (3,9,0), 15,10 (3,8,0), 15,8 (3,7,0), 15,7 (3,6,0), 15,6 (3,5,0), 15,5 (3,4,0), 15,4 (3,3,0), 15,3 (3,2,0), 15,2 (3,10)

14,6 (2,3,0)

17,4 (5,10)

16,8 (4,5,0), 16,6 (4,4,0), 16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,1,0), 16,1 (4,0,0)

15,12 (3,9,0), 15,10 (3,8,0), 15,8 (3,7,0), 15,7 (3,6,0), 15,6 (3,5,0), 15,5 (3,4,0), 15,4 (3,3,0), 15,3 (3,2,0), 15,2 (3,10)

13,9 (1,5,0)

14,6 (2,3,0)

13,8 (1,4,0)

14,6 (2,3,0)

13,7 (1,3,0)

14,6 (2,3,0)

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 erhalten 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. In der Befehlsausgabe AWS Management Console oder wird eine InvalidParameterCombination Fehlermeldung angezeigt. modify-db-cluster AWS CLI

  5. Verwenden Sie AWS Management Console oder AWS CLI , um die benutzerdefinierte DB-Cluster-Parametergruppe 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 AWS-Region Ebene verwaltet. Wenn Sie mit arbeiten AWS CLI, können Sie mit einer Standardregion konfigurieren, anstatt die --region im Befehl anzugeben. Weitere Informationen zur Verwendung von finden Sie unter Schnellinstallation im AWS Command Line Interface Benutzerhandbuch. AWS CLI

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 die AWS CLI Befehlsserie, die erklärt, wie ein Aurora PostgreSQL 13.6.4-DB-Cluster mit Babelfish Version 1.2.2 auf 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 von, um das Upgrade durchzuführen. AWS Management Console

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

Für LinuxmacOS, oderUnix:

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 Eine DB-Cluster-Parametergruppe in Amazon Aurora erstellen.

Verwenden Sie den modify-db-cluster-parameterCLI-Befehl -group, um die Einstellungen so zu ändern, dass sie dem Quellcluster entsprechen.

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-clusterCLI-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-instanceCLI-Befehl, um die Writer-Instanz 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