Aggiornamento del cluster Babelfish a una nuova versione - 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 del cluster Babelfish a una nuova versione

Le nuove versioni di Babelfish diventano disponibili con i nuovi rilasci del motore di database Aurora PostgreSQL a partire dalla versione 13.4. Ogni nuovo rilascio di Babelfish ha un proprio numero di versione. Come Aurora PostgreSQL, anche Babelfish utilizza per le versioni lo schema di denominazione versione principale.versione secondaria.patch. La prima versione di Babelfish ad esempio, Babelfish 1.0.0, è diventata disponibile come parte di Aurora PostgreSQL 13.4.0.

Babelfish non richiede un processo di installazione separato e, come indicato in Creazione di un cluster database Babelfish per Aurora PostgreSQL, Turn on Babelfishu (Attiva Babelfish) è un'opzione che si sceglie quando si crea un cluster di database Aurora PostgreSQL.

Analogamente, non è possibile aggiornare Babelfish in modo indipendente dal cluster di database Aurora che lo supporta. Per aggiornare un cluster di database Babelfish per Aurora PostgreSQL esistente a una nuova versione di Babelfish, occorre aggiornare il cluster di database Aurora PostgreSQL a una nuova versione che supporti la versione di Babelfish da utilizzare. La procedura da seguire per l'aggiornamento dipende dalla versione di Aurora PostgreSQL che supporta l'implementazione di Babelfish, come indicato di seguito.

Aggiornamenti di una versione principale

È necessario aggiornare le seguenti versioni di Aurora PostgreSQL ad Aurora PostgreSQL 14.6 e versioni successive prima di eseguire l'aggiornamento alla versione Aurora PostgreSQL 15.2.

  • Aurora PostgreSQL 13.8 e tutte le versioni successive

  • Aurora PostgreSQL 13.7.1 e tutte le versioni secondarie successive

  • Aurora PostgreSQL 13.6.4 e tutte le versioni secondarie successive

Puoi aggiornare Aurora PostgreSQL 14.6 e versioni successive ad Aurora PostgreSQL 15.2 e versioni successive.

L'aggiornamento di un cluster di database Aurora PostgreSQL a una nuova versione principale richiede diverse attività preliminari. Per ulteriori informazioni, consulta Come eseguire l'aggiornamento a una versione principale. Per aggiornare correttamente il cluster di database Babelfish per Aurora PostgreSQL, è necessario creare un gruppo di parametri cluster di database personalizzato per la nuova versione di Aurora PostgreSQL. Questo nuovo gruppo di parametri deve contenere le impostazioni dei parametri Babelfish uguali a quelle del cluster da aggiornare. Per ulteriori informazioni e per esaminare una tabella con gli aggiornamenti delle versioni principali di origine e di destinazione, consulta Aggiornamento di Babelfish a una nuova versione principale.

Aggiornamenti della versione secondaria e patch

Per l'aggiornamento delle versioni secondarie e delle patch non è richiesta la creazione di un nuovo gruppo di parametri cluster di database e si può utilizzare il processo di aggiornamento della versione secondaria, che può essere eseguito automaticamente o manualmente. Per ulteriori informazioni e per esaminare una tabella con le versioni di origine e di destinazione, consulta Aggiornamento di Babelfish a una nuova versione secondaria.

Nota

Prima di eseguire un aggiornamento della versione principale o secondaria, completa tutte le attività di manutenzione in sospeso per il cluster Babelfish per Aurora PostgreSQL.

Aggiornamento di Babelfish a una nuova versione secondaria

Una nuova versione secondaria include solo le modifiche compatibili con le versioni precedenti e una patch include importanti correzioni per una versione secondaria rilasciata. Ad esempio, l'etichetta di versione del primo rilascio di Aurora PostgreSQL 13.4 era Aurora PostgreSQL 13.4.0 e successivamente sono state rilasciate diverse patch per la versione secondaria, tra cui Aurora PostgreSQL 13.4.1, 13.4.2 e 13.4.4. Le patch disponibili per ogni versione di Aurora PostgreSQL sono indicate nell'elenco Patch releases (Rilasci di patch), riportato all'inizio delle note di rilascio della versione in questione di Aurora PostgreSQL. Per un esempio, consulta PostgreSQL 14.3 nelle Note di rilascio per Aurora PostgreSQL.

Se il cluster di database Aurora PostgreSQL è configurato con l'opzione Auto minor version upgrade (Aggiornamento automatico versione secondaria), il cluster di database Babelfish per Aurora PostgreSQL viene aggiornato automaticamente durante la finestra di manutenzione del cluster. Per ulteriori informazioni sull'aggiornamento automatico della versione secondaria (AmVU) e su come utilizzarlo, consulta Aggiornamenti automatici delle versioni secondarie per cluster DB Aurora. Se non usi l'aggiornamento automatico della versione secondaria, puoi aggiornare manualmente il cluster database Babelfish per Aurora PostgreSQL a nuove versioni secondarie tramite le attività di manutenzione o la modifica del cluster in modo da utilizzare la nuova versione.

Quando si sceglie una versione di Aurora PostgreSQL da installare e si visualizza un cluster di database Aurora PostgreSQL esistente nella AWS Management Console, la versione mostra solo le cifre nello schema versione principale.versione secondaria. Ad esempio, nell'immagine seguente della console puoi vedere che per un cluster di database Babelfish per Aurora PostgreSQL con Aurora PostgreSQL 13.4 si consiglia l'aggiornamento alla versione 13.7, una nuova versione secondaria di Aurora PostgreSQL.

Aggiornamento della versione secondaria disponibile per un cluster di database Aurora PostgreSQL con Babelfish.

Per ottenere i dettagli completi della versione, incluso il livello di patch, è possibile eseguire una query sul cluster di database Aurora PostgreSQL utilizzando la funzione di Aurora PostgreSQL aurora_version. Per ulteriori informazioni, consulta aurora_version nella Riferimenti relativi alle funzioni Aurora PostgreSQL. Un esempio di utilizzo della funzione è disponibile nella procedura To use the PostgreSQL port to query for version information in Identificazione della versione di Babelfish.

La tabella seguente mostra le versioni di Aurora PostgreSQL e Babelfish di origine e le versioni di destinazione disponibili che supportano il processo di aggiornamento della versione secondaria.

Versioni di origine correnti

Versioni di destinazione dell'aggiornamento più recente

Altre versioni dell'aggiornamento disponibili

Aurora PostgreSQL Babelfish Aurora PostgreSQLBabelfish Versioni di Aurora PostgreSQL con opzione Babelfish

15,4

3.3.0

15,5

3.4.0

15,32

3.2.1

15,5

3.4.0

15,4

15,24

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

148.2

14,6,4

2.3.3

14,10

2.7.0

14,9,1

148.2

14,7,4

14,5,3

2.2.3

14,10

2.7.0

14,9,1

148.2

14,7,4

14,6,4

14,31

2.1.1

14,6

2.3.0

14,3,0

2.1.0

14,6

2.3.0

14,31

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

136.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

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 disponibili dell'aggiornamento più recente

Altre versioni disponibili (aggiornamenti della versione secondaria)

Aurora PostgreSQL Babelfish Aurora PostgreSQLBabelfish Versione Aurora PostgreSQL (versione Babelfish)

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)

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 il messaggio di errore InvalidParameterCombination nella AWS Management Console o nell'output del comando AWS CLI modify-db-cluster.

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

    Suggerimento

    I gruppi di parametri sono gestiti a livello di Regione AWS. Se utilizzi AWS CLI, puoi configurare una regione predefinita invece di specificare --region nel comando. Per ulteriori informazioni sull'utilizzo di AWS CLI, consulta Quick setup (Configurazione rapida) nella Guida per l'utente di AWS Command Line Interface.

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 comandi AWS CLI che spiega come aggiornare ad Aurora PostgreSQL 14.6 un cluster di database Aurora PostgreSQL 13.6.4 che esegue Babelfish versione 1.2.2. 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 sono disponibili anche le informazioni sull'utilizzo della AWS Management Console per eseguire l'aggiornamento.

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 database.

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