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 SQL base de données Babelfish for Aurora Postgre 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, consultezMise à niveau de Babelfish vers une nouvelle version mineure.

Le tableau suivant indique les SQL versions d'Aurora Postgre et de Babelfish qui peuvent prendre en charge une mise à niveau de version majeure.

Versions sources actuelles

Cibles de mise à niveau les plus récentes

Poster Aurora SQL (Babelfish) Poster Aurora SQL (Babelfish)

15,10 (3,8,0)

16,6 (4,4,0)

15,8 (3,7,0)

16,6 (4,4,0), 16,4 (4,3,0)

15,7 (3,6,0)

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

15,6 (3,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)

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)

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)

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)

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,15 (2,11,0)

16,6 (4,4,0)

15,10 (3,8,0)

14,13 (2,1,0)

16,6 (4,4,0), 16,4 (4,3,0)

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

14,12 (2,9,0)

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

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

14,11 (2,8,0)

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

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)

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

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

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

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

14,6 (2,3,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,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,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 SQL base de données Aurora Postgre existant à l'aide des commandes décrites dans. Identification de votre version de Babelfish Les informations relatives à la SQL version d'Aurora Postgre et à la version de Babelfish sont gérées par PostgreSQL. Suivez donc les étapes détaillées dans la To use the PostgreSQL port to query for version information procédure pour obtenir les 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 base de données Aurora Postgre SQL 13.5 et que vous souhaitez passer à Aurora Postgre SQL 15.2, appliquez d'abord toutes les versions mineures et tous les correctifs pour mettre à niveau votre cluster vers Aurora Postgre 14.6 ou version supérieure. SQL 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 Postgre, à sa SQL version Babelfish, et de restaurer toutes les données dans leur état antérieur à 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 base de données personnalisé pour la version de SQL base de données Aurora Postgre cible. Dupliquez les paramètres Babelfish de votre cluster de base de données Babelfish for Aurora SQL Postgre 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 base de données personnalisé pour la SQL nouvelle version d'Aurora Postgre ne correspondent pas aux valeurs des paramètres du cluster que vous mettez à niveau, l'ModifyDBClusteropération é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 SQL famille Aurora Postgre applicable à la version d'Aurora Postgre SQL que vous souhaitez pour la mise à 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 le cluster de SQL base de données Aurora Postgre 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 une mise à niveau d'une version majeure vers une nouvelle SQL version d'Aurora Postgre, la IDENTITY valeur des tables comportant une IDENTITY colonne peut être supérieure (+32) à ce qu'elle é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 SQL port T de votre instance d'écriture Babelfish à l'aide d'un autre sqlcmd client SQL du serveur. 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 SQL commande suivante pour générer des instructions que vous pouvez utiliser pour amorcer l'objet de séquence associé. Cette SQL commande fonctionne à la fois pour les configurations Babelfish à base de données unique et à base de données multiples. 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'SELECTinstructions que vous pouvez ensuite exécuter pour rétablir la IDENTITY valeur maximale et combler tout écart. Ce qui suit montre le résultat obtenu lors de l'utilisation de l'exemple de base de données SQL du serveur, 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 Postgre SQL 13.6.4 exécutant Babelfish version 1.2.2 vers Aurora Postgre 14.6. SQL Tout d'abord, vous créez un groupe de paramètres de cluster de base de données personnalisé pour Aurora Postgre SQL 14. Ensuite, vous modifiez les valeurs des paramètres pour qu'elles correspondent à celles de votre source Aurora Postgre SQL 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 CLI commande create-db-cluster-parameter-group pour créer le groupe de paramètres du cluster de base de données pour la nouvelle version.

Dans Linux, macOS, 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 CLI commande 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 modify-db-clusterCLIcommande 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 reboot-db-instanceCLIcommande 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