Aggiornamento di Babelfish a una nuova versione principale - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiornamento di Babelfish a una nuova versione principale

Per eseguire l'aggiornamento della versione principale, è necessario prima aggiornare il cluster di database Babelfish per Aurora PostgreSQL a una versione che supporti l'aggiornamento della versione principale e per farlo, gli aggiornamenti di patch o della versione secondaria devono essere applicati al cluster di database. Per ulteriori informazioni, consulta Aggiornamento di Babelfish a una nuova versione secondaria.

La tabella seguente mostra le versioni di Aurora PostgreSQL e di Babelfish che possono supportare l'aggiornamento della versione principale.

Versioni di origine correnti

Versioni di destinazione dell'aggiornamento più recente

Aurora PostgreSQL (Babelfish) Aurora PostgreSQL (Babelfish)

16.8 (4.5.0)

17.4 (5.1.0)

16.6 (4.4.0)

17.4 (5.1.0)

16.4 (4.3.0)

17.4 (5.1.0)

16.3 (4.2.0)

17.4 (5.1.0)

16.2 (4.1.0)

17.4 (5.1.0)

16.1 (4.0.0)

17.4 (5.1.0)

15,12 (3.9.0)

17.4 (5.1.0)

16.8 (4.5.0)

15.10 (3.8.0)

17.4 (5.1.0)

16.8 (4.5.0), 16.6 (4.4.0)

15,8 (3.7.0)

17.4 (5.1.0)

16.8 (4.5.0), 16.6 (4.4.0), 16.4 (4.3.0)

15.7 (3.6.0)

17.4 (5.1.0)

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.1.0)

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.1.0)

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.1.0)

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.1.0)

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.1.0)

17.4 (5.1.0)

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.1.0)

16.8 (4.5.0)

15,12 (3.9.0)

14,15 (2.11.0)

17,4 (5.1.0)

16.8 (4.5.0), 16.6 (4.4.0)

15,12 (3.9.0), 15.10 (3.8.0)

14,13 (2.10.0)

17,4 (5.1.0)

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.1.0)

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.1.0)

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.1.0)

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.1.0)

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.1.0)

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.1.0)

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.1.0)

14.6 (2.3.0)

17.4 (5.1.0)

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.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.3.0)

14.6 (2.3.0)

Operazioni preliminari all'aggiornamento di Babelfish a una nuova versione principale

Un aggiornamento può comportare brevi interruzioni e per questo motivo si consiglia vivamente di eseguire o pianificare gli aggiornamenti durante la finestra di manutenzione o durante altri periodi di scarso utilizzo del sistema.

Operazioni preliminari all'aggiornamento della versione principale

  1. Identifica la versione di Babelfish del cluster di database Aurora PostgreSQL esistente utilizzando i comandi descritti in Identificazione della versione di Babelfish. Le informazioni sulla versione di Aurora PostgreSQL e sulla versione di Babelfish sono gestite da PostgreSQL, quindi segui i passaggi illustrati nella procedura To use the PostgreSQL port to query for version information per i dettagli.

  2. Verifica se la versione supporta l'aggiornamento della versione principale. Per l'elenco delle versioni che supportano la funzionalità di aggiornamento della versione principale, consulta Aggiornamento di Babelfish a una nuova versione secondaria ed esegui le attività necessarie prima dell'aggiornamento.

    Se, ad esempio, la versione di Babelfish è in esecuzione su un cluster di database Aurora PostgreSQL 13.5 e desideri eseguire l'aggiornamento ad Aurora PostgreSQL 15.2, devi prima applicare tutte le patch e le versioni secondarie per aggiornare il cluster ad Aurora PostgreSQL 14.6 o versione successiva. Una volta che il cluster è aggiornato alla versione 14.6 o successiva, puoi continuare il processo di aggiornamento della versione principale.

  3. Crea uno snapshot manuale del cluster di database Babelfish corrente come backup, che ti consente di ripristinare il cluster alla versione di Aurora PostgreSQL e di Babelfish precedente l'aggiornamento, compresi tutti i dati. Per ulteriori informazioni, consulta Creazione di uno snapshot del cluster database. Assicurati di mantenere il gruppo di parametri cluster di database personalizzato per riutilizzarlo se decidi di ripristinare il cluster allo stato precedente l'aggiornamento. Per ulteriori informazioni, consultare Ripristino da uno snapshot cluster database e Considerazioni sui gruppi di parametri.

  4. Prepara un gruppo di parametri cluster di database personalizzato per la versione del database Aurora PostgreSQL di destinazione. Duplica le impostazioni dei parametri Babelfish dal cluster di database Babelfish per Aurora PostgreSQL corrente. Per l'elenco di tutti i parametri Babelfish, consulta Impostazioni del gruppo di parametri del cluster database per Babelfish. Per l'aggiornamento della versione principale, è necessario che i seguenti parametri abbiano le stesse impostazioni del cluster di database di origine. Tutte le impostazioni devono essere uguali per poter completare l'aggiornamento.

    • 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_collation_name

    avvertimento

    Se nel gruppo di parametri cluster di database personalizzato per la nuova versione di Aurora PostgreSQL le impostazioni dei parametri Babelfish non corrispondono ai valori dei parametri del cluster che stai aggiornando, l'operazione ModifyDBCluster non riesce e Viene visualizzato un messaggio di InvalidParameterCombination errore nel AWS Management Console o nell'output del modify-db-cluster AWS CLI comando.

  5. Utilizzate AWS Management Console o AWS CLI per creare il gruppo di parametri del cluster DB personalizzato. Scegli la famiglia di Aurora PostgreSQL applicabile per la versione di Aurora PostgreSQL che desideri per l'aggiornamento.

    Suggerimento

    I gruppi di parametri vengono gestiti a Regione AWS livello. Quando si lavora con AWS CLI, è possibile configurare con una regione predefinita anziché specificarla --region nel comando. Per ulteriori informazioni sull'utilizzo di AWS CLI, consulta Configurazione rapida nella Guida per l'AWS Command Line Interface utente.

Esecuzione dell'aggiornamento alla versione principale

  1. Aggiorna il cluster di database Aurora PostgreSQL a una nuova versione principale. Per ulteriori informazioni, consulta Aggiornamento del motore Aurora PostgreSQL a una nuova versione principale.

  2. Riavvia l'istanza di scrittura del cluster per rendere effettive le impostazioni dei parametri.

Operazioni successive all'aggiornamento a una nuova versione principale

Dopo l'aggiornamento della versione principale a una nuova versione di Aurora PostgreSQL, il valore IDENTITY nelle tabelle con una colonna IDENTITY potrebbe essere maggiore (+32) del valore precedente l'aggiornamento. Di conseguenza, quando la riga successiva viene inserita nelle tabelle, il valore della colonna Identity generata diventa +32 e la sequenza inizia da quel numero. Questa condizione non influisce negativamente sulle funzioni del cluster di database Babelfish. Tuttavia, se lo desideri, puoi reimpostare l'oggetto sequenza in base al valore massimo della colonna e per farlo, ti devi connettere alla porta T-SQL nell'istanza di scrittura Babelfish utilizzando sqlcmd o un altro client SQL Server. Per ulteriori informazioni, consulta Utilizzo di un client SQL Server per la connessione al cluster database.

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

Una volta stabilita la connessione, usa il seguente comando SQL per generare le istruzioni che puoi utilizzare per inizializzare l'oggetto sequenza associato. Questo comando SQL funziona per le configurazioni Babelfish con un singolo database e più database. Per ulteriori informazioni su questi due modelli di implementazione, consulta Utilizzo di Babelfish con un singolo database o più database.

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

La query genera una serie di istruzioni SELECT che è possibile eseguire per reimpostare il valore massimo di IDENTITY e risolvere eventuali problemi di sequenza. Di seguito è riportato l'output del database SQL Server di esempio Northwind in esecuzione su un cluster Babelfish.

-------------------------------------------------------- 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)

Esegui le istruzioni una alla volta per reimpostare i valori della sequenza.

Esempio: aggiornamento del cluster di database Babelfish a una versione principale

In questo esempio, puoi trovare la serie di AWS CLI comandi che spiega come aggiornare un cluster Aurora PostgreSQL 13.6.4 DB che esegue Babelfish versione 1.2.2 ad Aurora PostgreSQL 14.6. Per prima cosa crea un gruppo di parametri cluster di database personalizzato per Aurora PostgreSQL 14. Quindi, modifica i valori dei parametri in modo che corrispondano a quelli della versione Aurora PostgreSQL 13 di origine. Infine, esegui l'aggiornamento modificando il cluster di origine. Per ulteriori informazioni, consulta Impostazioni del gruppo di parametri del cluster database per Babelfish. In questo argomento, è inoltre possibile trovare informazioni sull'utilizzo di per eseguire l'aggiornamento. AWS Management Console

Usa il comando CLI create-db-cluster-parameter-group per creare il gruppo di parametri del cluster DB per la nuova versione.

PerLinux, omacOS: 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

Quando si esegue questo comando, il gruppo di parametri cluster di database personalizzato viene creato nella Regione AWS. L'output visualizzato è simile al seguente.

{ "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" } }

Per ulteriori informazioni, consulta Creazione di un gruppo di parametri del cluster DB in Amazon Aurora.

Usa il comando CLI modify-db-cluster-parameter-group per modificare le impostazioni in modo che corrispondano al cluster di origine.

Per 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"

La risposta è simile a quella riportata di seguito.

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

Utilizza il comando modify-db-clusterCLI per modificare il cluster in modo da utilizzare la nuova versione e il nuovo gruppo di parametri del cluster DB personalizzato. Specifica anche l'argomento --allow-major-version-upgrade, come indicato nell'esempio seguente.

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

Utilizzate il comando reboot-db-instanceCLI per riavviare l'istanza writer del cluster, in modo che le impostazioni dei parametri possano avere effetto.

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