Mise à niveau de Babelfish vers une nouvelle version majeure - 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 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

Cibles de mise à niveau les plus récentes

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

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,10), 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,10), 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,10), 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,10), 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,1,0)

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

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

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 de plus amples informations, veuillez consulter 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 InvalidParameterCombination d'erreur apparaît dans le AWS Management Console ou dans le résultat de la modify-db-cluster AWS CLI commande.

  5. Utilisez le AWS Management Console ou AWS CLI pour créer le groupe de paramètres de cluster de base de données personnalisé. 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 Région AWS niveau. Lorsque vous travaillez avec AWS CLI, vous pouvez configurer avec une région par défaut au lieu de la spécifier --region dans la commande. Pour en savoir plus sur l'utilisation du AWS CLI, consultez la section Configuration rapide dans le guide de AWS Command Line Interface l'utilisateur.

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 de plus amples informations, veuillez consulter 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 de plus amples informations, veuillez consulter 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 AWS CLI commandes qui explique 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 de plus amples informations, veuillez consulter 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 l'utilisation du AWS Management Console pour effectuer la mise à niveau.

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 de plus amples informations, veuillez consulter Création d'un groupe de paramètres de cluster de base de données dans Amazon Aurora.

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