Mise à niveau de votre cluster Babelfish vers une nouvelle version - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mise à niveau de votre cluster Babelfish vers une nouvelle version

De nouvelles versions de Babelfish sont disponibles avec certaines nouvelles versions du moteur de base de données Aurora PostgreSQL après la version 13.4. Chaque nouvelle version de Babelfish possède son propre numéro de version. Comme avec Aurora PostgreSQL, Babelfish utilise le schéma de dénomination majeurmineurcorrectif pour les versions. Par exemple, la première version de Babelfish, version 1.0.0, est devenue disponible dans le cadre d'Aurora PostgreSQL 13.4.0.

Babelfish ne nécessite pas de processus d'installation distinct. Comme indiqué dans Création d'un cluster de bases de données Babelfish for Aurora PostgreSQL, Turn on Babelfish (Activer Babelfish) est une option que vous choisissez lorsque vous créez un cluster de bases de données Aurora PostgreSQL.

De même, vous ne pouvez pas mettre à niveau Babelfish indépendamment du cluster de bases de données Aurora compatible. Pour mettre à niveau un cluster de bases de données Babelfish for Aurora PostgreSQL existant vers une nouvelle version de Babelfish, vous mettez à niveau le cluster de bases de données Aurora PostgreSQL vers une nouvelle version prenant en charge la version de Babelfish que vous souhaitez utiliser. La procédure à suivre pour la mise à niveau dépend de la version d'Aurora PostgreSQL qui prend en charge votre déploiement de Babelfish, comme suit.

Mises à niveau de version majeure.

Vous devez mettre à niveau les versions suivantes d'Aurora PostgreSQL vers Aurora PostgreSQL versions 14.6 et ultérieures avant la mise à niveau vers Aurora PostgreSQL version 15.2.

  • Aurora PostgreSQL versions 13.8 et ultérieures

  • Aurora PostgreSQL versions 13.7.1 et mineures ultérieures

  • Aurora PostgreSQL versions 13.6.4 et mineures ultérieures

Vous pouvez mettre à niveau Aurora PostgreSQL versions 14.6 et ultérieures vers Aurora PostgreSQL versions 15.2 et ultérieures.

La mise à niveau du cluster de bases de données Aurora PostgreSQL vers une nouvelle version majeure implique plusieurs tâches préliminaires. Pour plus d'informations, consultez Comment effectuer une mise à niveau de version majeure. Pour réussir la mise à niveau de votre cluster de bases de données Babelfish for Aurora PostgreSQL, vous devez créer un groupe de paramètres de cluster de bases de données personnalisé pour la nouvelle version d'Aurora PostgreSQL. Ce nouveau groupe de paramètres doit contenir les mêmes paramètres Babelfish que ceux du cluster que vous mettez à niveau. Pour plus d'informations et pour consulter une table des sources et cibles de mise à niveau des versions majeures, consultez Mise à niveau de Babelfish vers une nouvelle version majeure.

Mises à niveau des versions mineures et correctifs

Les versions mineures et les correctifs ne nécessitent pas la création d'un nouveau groupe de paramètres de cluster de bases de données pour la mise à niveau. Les versions mineures et les correctifs peuvent utiliser le processus de mise à niveau des versions mineures, qu'il soit appliqué automatiquement ou manuellement. Pour plus d'informations et pour consulter une table des sources et cibles de versions, consultez Mise à niveau de Babelfish vers une nouvelle version mineure.

Note

Avant d'effectuer une mise à niveau majeure ou mineure, appliquez toutes les tâches de maintenance en attente à votre cluster Babelfish for Aurora PostgreSQL.

Mise à niveau de Babelfish vers une nouvelle version mineure

Une nouvelle version mineure inclut uniquement des modifications rétrocompatibles. Une version de correctif Aurora inclut des corrections importantes apportées à une version mineure après sa publication. Par exemple, l'étiquette de version de la première version d'Aurora PostgreSQL 13.4 était Aurora PostgreSQL 13.4.0. Plusieurs correctifs pour cette version mineure ont été publiés à ce jour, notamment Aurora PostgreSQL 13.4.1, 13.4.2 et 13.4.4. Vous pouvez trouver les correctifs disponibles pour chaque version d'Aurora PostgreSQL dans la liste Patch releases (Versions de correctifs) en haut des notes de publication d'Aurora PostgreSQL pour cette version. Pour plus d'informations, consultez PostgreSQL 14.3 dans les notes de mise à jour de Aurora PostgreSQL.

Si votre cluster de bases de données Aurora PostgreSQL est configuré avec l'option Auto minor version upgrade (Mise à niveau automatique de la version mineure), votre cluster de bases de données Babelfish for Aurora PostgreSQL est automatiquement mis à niveau pendant la fenêtre de maintenance du cluster. Pour en savoir plus sur la mise à niveau automatique de version mineure (AmVU) et sur son utilisation, consultez Mises à niveau automatiques des versions mineures pour les clusters de base de données Aurora. Si votre cluster n'utilise pas AmVU, vous pouvez mettre à niveau manuellement votre cluster de bases de données Babelfish for Aurora PostgreSQL vers de nouvelles versions mineures, soit en répondant aux tâches de maintenance, soit en modifiant le cluster pour utiliser la nouvelle version.

Lorsque vous choisissez une version d'Aurora PostgreSQL à installer et que vous consultez un cluster de bases de données Aurora PostgreSQL existant dans la AWS Management Console, la version affiche uniquement les chiffres majeursmineurs. Par exemple, l'image suivante tirée de la console d'un cluster de bases de données Babelfish for Aurora PostgreSQL existant avec Aurora PostgreSQL 13.4 recommande de mettre à niveau le cluster vers la version 13.7, une nouvelle version mineure d'Aurora PostgreSQL.

Mise à niveau de la version mineure disponible pour un cluster de bases de données Aurora PostgreSQL avec Babelfish.

Pour obtenir les détails complets de la version, y compris le niveau de correctif, vous pouvez interroger le cluster de bases de données Aurora PostgreSQL à l'aide de la fonction aurora_version d'Aurora PostgreSQL. Pour de plus amples informations, veuillez consulter aurora_version dans le Référence sur les fonctions Aurora PostgreSQL. Vous trouverez un exemple d'utilisation de cette fonction dans la procédure To use the PostgreSQL port to query for version information de Identification de votre version de Babelfish.

La table suivante présente les versions d'Aurora PostgreSQL et de Babelfish, ainsi que les versions cibles disponibles, qui peuvent prendre en charge le processus de mise à niveau des versions mineures.

Versions sources actuelles

Cibles de mise à niveau les plus récentes

Autres versions de mise à niveau disponibles

Aurora PostgreSQL Babelfish Aurora PostgreSQLBabelfish Versions d'Aurora PostgreSQL avec Babelfish en 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

Mise à niveau de Babelfish vers une nouvelle version majeure

Pour une mise à niveau de version majeure, vous devez d'abord mettre à niveau votre cluster de bases de données Babelfish for Aurora PostgreSQL vers une version prenant en charge la mise à niveau de la version majeure. Pour ce faire, appliquez des mises à niveau de correctifs ou de versions mineures à votre cluster de bases de données. Pour plus d'informations, consultez Mise à niveau de Babelfish vers une nouvelle version mineure.

La table suivante présente les versions d'Aurora PostgreSQL et de Babelfish qui peuvent prendre en charge une mise à niveau d'une version majeure.

Versions sources actuelles

Nouvelle cible de mise à niveau disponible

Autres versions disponibles (mises à niveau de versions mineures)

Aurora PostgreSQL Babelfish Aurora PostgreSQLBabelfish Version d'Aurora PostgreSQL (version 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,10)

14,6

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

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)

Avant la mise à niveau de Babelfish vers une nouvelle version majeure

Une mise à niveau peut entraîner de brèves interruptions. Nous vous recommandons ainsi d'effectuer ou de planifier vos mises à niveau pendant votre fenêtre de maintenance ou pendant les périodes de faible utilisation.

Avant d'effectuer une mise à niveau de version majeure

  1. Identifiez la version Babelfish de votre cluster de bases de données Aurora PostgreSQL existant à l'aide des commandes décrites dans Identification de votre version de Babelfish. Les informations relatives aux versions d'Aurora PostgreSQL et de Babelfish sont gérées par PostgreSQL. Suivez donc les étapes décrites dans la procédure To use the PostgreSQL port to query for version information pour plus de détails.

  2. Vérifiez si votre version prend en charge la mise à niveau de la version majeure. Pour obtenir la liste des versions qui prennent en charge la fonction de mise à niveau des versions majeures, consultez Mise à niveau de Babelfish vers une nouvelle version mineure et effectuez les tâches préalables à la mise à niveau nécessaires.

    Par exemple, si votre version de Babelfish s'exécute sur un cluster de bases de données Aurora PostgreSQL 13.5 et que vous souhaitez effectuer une mise à niveau vers Aurora PostgreSQL 15.2, appliquez d'abord toutes les versions mineures et tous les correctifs pour mettre à niveau votre cluster vers Aurora PostgreSQL versions 14.6 ou ultérieures. Lorsque votre cluster est à la version 14.6 ou ultérieure, poursuivez le processus de mise à niveau de la version majeure.

  3. Créez un instantané manuel de votre cluster de bases de données Babelfish actuel en tant que sauvegarde. La sauvegarde vous permet de restaurer le cluster à sa version Aurora PostgreSQL, à sa version Babelfish et de restaurer toutes les données dans l'état où elles se trouvaient avant la mise à niveau. Pour plus d'informations, consultez Création d'un instantané de cluster de base de données. Veillez à conserver votre groupe de paramètres de cluster de bases de données personnalisé existant pour pouvoir le réutiliser si vous décidez de restaurer ce cluster à son état antérieur à la mise à niveau. Pour plus d’informations, consultez Restauration à partir d'un instantané de cluster de base de données et Considérations relatives au groupe de paramètres.

  4. Préparez un groupe de paramètres de cluster de bases de données personnalisé pour la version de base de données Aurora PostgreSQL cible. Dupliquez les paramètres Babelfish de votre cluster de bases de données Babelfish for Aurora PostgreSQL actuel. Pour obtenir la liste de tous les paramètres de Babelfish, consultez Paramètres du groupe de paramètres de cluster de bases de données pour Babelfish. Pour une mise à niveau de version majeure, les paramètres suivants nécessitent les mêmes paramètres que le cluster de bases de données source. Pour que la mise à niveau réussisse, tous les paramètres doivent être identiques.

    • 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

    Avertissement

    Si les paramètres Babelfish du groupe de paramètres de cluster de bases de données personnalisé pour la nouvelle version d'Aurora PostgreSQL ne correspondent pas aux valeurs des paramètres du cluster que vous mettez à niveau, l'opération ModifyDBCluster échoue. Un message d'erreur InvalidParameterCombination apparaît dans la AWS Management Console ou dans la sortie de la commande modify-db-cluster de l'AWS CLI.

  5. Utilisez la AWS Management Console ou l'AWS CLI pour créer le groupe de paramètres personnalisé pour le cluster de bases de données. Choisissez la famille Aurora PostgreSQL applicable à la version d'Aurora PostgreSQL que vous souhaitez mettre à niveau.

    Astuce

    Les groupes de paramètres sont gérés au niveau de la Région AWS. Lorsque vous travaillez avec l'AWS CLI, vous pouvez configurer avec une région par défaut au lieu de spécifier la --region dans la commande. Pour en savoir plus sur l'AWS CLI, consultez Quick setup (Configuration rapide) dans le Guide de l'utilisateur de l'AWS Command Line Interface.

Réalisation d'une mise à niveau de version majeure

  1. Mettez à niveau un cluster de bases de données Aurora PostgreSQL vers une nouvelle version majeure. Pour plus d'informations, consultez Mise à niveau du moteur Aurora PostgreSQL vers une nouvelle version majeure.

  2. Redémarrez l'instance d'écriture du cluster afin que les paramètres puissent prendre effet.

Après la mise à niveau vers une nouvelle version majeure

Après la mise à niveau d'une version majeure vers une nouvelle version d'Aurora PostgreSQL, la valeur IDENTITY des tables comportant une colonne IDENTITY peut être plus grande (+32) qu'elle ne l'était avant la mise à niveau. Il en résulte que lorsque la ligne suivante est insérée dans de telles tables, la valeur de la colonne d'identité générée passe au chiffre +32 et commence la séquence à partir de là. Cette condition n'affectera pas négativement les fonctions de votre cluster de bases de données Babelfish. Toutefois, si vous le souhaitez, vous pouvez réinitialiser l'objet de séquence en fonction de la valeur maximale de la colonne. Pour ce faire, connectez-vous au port T-SQL sur votre instance d'écriture Babelfish avec sqlcmd ou un autre client SQL Server. Pour plus d'informations, consultez Utilisation d'un client SQL Server pour se connecter au cluster de bases de données.

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

Lorsque vous êtes connecté, utilisez la commande SQL suivante pour générer des instructions que vous pouvez utiliser pour amorcer l'objet de séquence associé. Cette commande SQL fonctionne à la fois pour les configurations Babelfish avec une seule ou plusieurs bases de données. Pour plus d'informations sur ces deux modèles de déploiement, consultez Utilisation de Babelfish avec une ou plusieurs bases de données.

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 requête génère une série d'instructions SELECT que vous pouvez ensuite exécuter pour réinitialiser la valeur IDENTITY maximale et combler toute lacune. Ce qui suit montre la sortie obtenue lors de l'utilisation de l'exemple de base de données SQL Server, Northwind, exécuté sur 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)

Exécutez les instructions une par une pour réinitialiser les valeurs de séquence.

Exemple : mise à niveau du cluster de bases de données Babelfish vers une version majeure

Dans cet exemple, vous trouverez la série de commandes AWS CLI expliquant comment mettre à niveau un cluster de base de données Aurora PostgreSQL 13.6.4 exécutant Babelfish version 1.2.2 vers Aurora PostgreSQL 14.6. Vous créez d'abord un groupe de paramètres de cluster de bases de données personnalisé pour Aurora PostgreSQL 14. Vous modifiez ensuite les valeurs des paramètres pour qu'elles correspondent à celles de votre source Aurora PostgreSQL version 13. Enfin, vous effectuez la mise à niveau en modifiant le cluster source. Pour plus d'informations, consultez Paramètres du groupe de paramètres de cluster de bases de données pour Babelfish. Dans cette rubrique, vous trouverez également des informations sur la mise à niveau avec la AWS Management Console.

Utilisez la commande CLI create-db-cluster-parameter-group pour créer le groupe de paramètres du cluster de base de données pour la nouvelle version.

Pour LinuxmacOS, ou 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

Lorsque vous exécutez cette commande, le groupe de paramètres du cluster de bases de données personnalisé est créé dans la Région AWS. Vous voyez des résultats similaires à ce qui suit.

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

Pour plus d'informations, consultez Création d'un groupe de paramètres de cluster de base de données.

Utilisez la commande CLI modify-db-cluster-parameter-group pour modifier les paramètres afin qu'ils correspondent au cluster source.

Dans 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 réponse ressemble à ce qui suit.

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

Utilisez la commande modify-db-clusterCLI pour modifier le cluster afin d'utiliser la nouvelle version et le nouveau groupe de paramètres de cluster de base de données personnalisé. Vous spécifiez également l'argument --allow-major-version-upgrade, comme indiqué dans l'exemple suivant.

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

Utilisez la commande reboot-db-instanceCLI pour redémarrer l'instance d'écriture du cluster afin que les paramètres puissent prendre effet.

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