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 Upgrade auf eine Hauptversion müssen Sie zuerst Ihren Babelfish for Aurora SQL Postgre-DB-Cluster auf eine Version aktualisieren, die das Upgrade der Hauptversion 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 Aurora SQL Postgre-Version und die Babelfish-Version, die ein Hauptversions-Upgrade unterstützen können.

Aktuelle Quellversionen

Neuestes Upgrade-Ziele

Aurora Postgrey SQL (Babelfish) Aurora Postgrey SQL (Babelfish)

15,8 (3,7,0)

16,4 (4,3,0)

15,7 (3,6,0)

16,4 (4,3,0), 16,3 (4,2,0)

15,6 (3,5,0)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10)

15,5 (3,4,0)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,0)

15,4 (3,3,0)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,0)

15,3 (3,2,0)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,0)

15,2 (3,10)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,0)

14,13 (2,10)

16,4 (4,3,0)

15,8 (3,7,0)

14,12 (2,9,0)

16,4 (4,3,0), 16,3 (4,2,0)

15,8 (3,7,0), 15,7 (3,6,0)

14,11 (2,8,0)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10)

15,8 (3,7,0), 15,7 (3,6,0), 15,6 (3,5,0)

14,10 (2,7,0)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,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)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,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)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,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)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,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)

16,4 (4,3,0), 16,3 (4,2,0), 16,2 (4,10), 16,1 (4,0,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. Identifizieren Sie die Babelfish-Version Ihres vorhandenen Aurora SQL Postgre-DB-Clusters mithilfe der unter beschriebenen Befehle. Identifizieren Ihrer Babelfish-Version Die Informationen zur Aurora SQL Postgre-Version und zur Babelfish-Version werden von Postgre verwaltet. Folgen Sie daher den im To use the PostgreSQL port to query for version information Verfahren beschriebenen SchrittenSQL, 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 Aurora Postgre SQL 13.5-DB-Cluster läuft und Sie ein Upgrade auf Aurora Postgre SQL 15.2 durchführen möchten, wenden Sie zunächst alle Nebenversionen und Patches an, um Ihren Cluster auf Aurora Postgre 14.6 oder eine höhere Version zu aktualisieren. SQL 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 SQL Postgre-Version und Babelfish-Version zurücksetzen und alle Daten auf den Zustand vor dem Upgrade zurücksetzen. 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 Aurora SQL Postgre-DB-Zielversion vor. Duplizieren Sie die Einstellungen für die Babelfish-Parameter aus Ihrem aktuellen Babelfish for Aurora Postgre-DB-Cluster. SQL 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 SQL Postgre-Version nicht mit den Parameterwerten des Clusters übereinstimmen, den Sie aktualisieren, schlägt der ModifyDBCluster Vorgang fehl. Eine InvalidParameterCombination Fehlermeldung erscheint in der AWS Management Console oder in der Ausgabe des Befehls. 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 SQL Postgre-Familie für die Version von Aurora Postgre ausSQL, die Sie für das Upgrade verwenden möchten.

    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. Aktualisieren Sie den Aurora SQL Postgre-DB-Cluster auf eine neue Hauptversion. Weitere Informationen finden Sie unter Aktualisierung der Aurora SQL Postgre-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 einer Hauptversion auf eine neue Aurora SQL Postgre-Version ist der IDENTITY Wert in Tabellen mit einer IDENTITY Spalte möglicherweise größer (+32) als der Wert 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 mithilfe eines anderen Server-Clients eine Verbindung zum SQL T-Port Ihrer Babelfish-Writer-Instanz sqlcmd her. SQL 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 starten können. Dieser SQL Befehl funktioniert sowohl für Babelfish-Konfigurationen mit einer Datenbank als auch für mehrere 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 IDENTITY Maximalwert zurückzusetzen und etwaige Lücken zu schließen. Im Folgenden wird die Ausgabe gezeigt, wenn die SQL Beispiel-Serverdatenbank 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 Postgre SQL 13.6.4-DB-Cluster mit Babelfish Version 1.2.2 auf Aurora Postgre 14.6 aktualisiert wird. SQL Zunächst erstellen Sie eine benutzerdefinierte DB-Cluster-Parametergruppe für Aurora Postgre SQL 14. Als Nächstes ändern Sie die Parameterwerte so, dass sie denen Ihrer Aurora SQL Postgre-Version 13-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 AWS Management Console , um das Upgrade durchzuführen.

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

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder 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 Eine DB-Cluster-Parametergruppe in Amazon Aurora erstellen.

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

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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-clusterCLIBefehl, 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-instanceCLIBefehl, um die Writer-Instance des Clusters neu zu starten, sodass 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