Utiliser PostgreSQL comme source pourAWS SCT - AWS Schema Conversion Tool

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.

Utiliser PostgreSQL comme source pourAWS SCT

Vous pouvez l'utiliserAWS SCT pour convertir des schémas, des objets de code de base de données et du code d'application depuis PostgreSQL vers les cibles suivantes :

  • Amazon RDS for MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS for PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

Pour plus d'informations, consultez les sections suivantes :

Privilèges pour PostgreSQL en tant que base de données source

Les privilèges requis pour PostgreSQL en tant que source sont les suivants :

  • CONNECT ON DATABASE <database_name>

  • USAGE ON SCHEMA <database_name>

  • SELECT ON ALL TABLES IN SCHEMA <database_name>

  • SELECT ON ALL SEQUENCES IN SCHEMA <database_name>

Connexion à PostgreSQL en tant que source

Utilisez la procédure suivante pour vous connecter à votre base de données source PostgreSQL avec AWS Schema Conversion Tool.

Pour vous connecter à une base de données source PostgreSQL
  1. Dans leAWS Schema Conversion Tool, choisissez Ajouter une source.

  2. Choisissez PostgreSQL, puis choisissez Next.

    La boîte de dialogue Ajouter une source s'affiche.

  3. Dans Nom de la connexion, saisissez un nom pour votre base de données. AWS SCTaffiche ce nom dans l'arborescence du volet de gauche.

  4. Utilisez les informations d'identification de la base de donnéesAWS Secrets Manager ou saisissez-les manuellement :

    • Pour utiliser les informations d'identification de base de données provenant de Secrets Manager, suivez les instructions suivantes :

      1. Pour AWS Secret, choisissez le nom du secret.

      2. Choisissez Remplir pour renseigner automatiquement toutes les valeurs de la boîte de dialogue de connexion à la base de données depuis Secrets Manager.

      Pour plus d'informations sur l'utilisation des informations d'identification de base de données à partir de Secrets Manager, consultezUtiliser AWS Secrets Manager.

    • Pour saisir manuellement les informations de connexion à la base de données source PostgreSQL, suivez les instructions suivantes :

      Paramètre Action
      Server name

      Entrez le nom DNS (Domain Name System) de votre serveur de base de données source.

      Vous pouvez vous connecter à votre base de données PostgreSQL. Pour ce faire, veillez à saisir l'adresse IP, comme illustré dans l'exemple suivant.

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      Server port

      Indiquez le port utilisé pour vous connecter au serveur de la base de données source.

      Database (Base de données)

      Tapez le nom de la base de données PostgreSQL.

      User name et Password

      Entrez les informations d'identification de la base de données pour vous connecter à votre serveur de base de données source.

      AWS SCTutilise le mot de passe pour se connecter à votre base de données source uniquement lorsque vous choisissez de vous connecter à votre base de données dans le cadre d'un projet. Pour éviter d'exposer le mot de passe de votre base de données source,AWS SCT ne stocke pas le mot de passe par défaut. Si vous fermez et rouvrez votre projet AWS SCT, vous êtes invité à entrer le mot de passe pour vous connecter à la base de données source, si nécessaire.

      Use SSL

      Choisissez cette option pour vous connecter à votre base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'onglet SSL :

      • Vérifier le certificat du serveur : sélectionnez cette option pour vérifier le certificat du serveur à l'aide d'un trust store.

      • Trust Store : emplacement d'un magasin de confiance contenant des certificats. Pour que cet emplacement apparaisse dans la section Paramètres généraux, assurez-vous de l'ajouter.

      Enregistrer le mot de passe

      AWS SCT crée un coffre-fort sécurisé pour stocker les certificats SSL et les mots de passe de base de données. L'activation de cette option vous permet de stocker le mot de passe de la base de données et de vous connecter rapidement à la base de données sans avoir à saisir le mot de passe.

      Chemin d'accès au pilote PostgreSQL

      Entrez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour plus d'informations, veuillez consulter Téléchargement des pilotes de base de données requis.

      Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour plus d'informations, veuillez consulter Stockage des chemins des pilotes dans les paramètres globaux.

  5. Choisissez Tester la connexion pour vérifier queAWS SCT vous pouvez vous connecter à votre base de données source.

  6. Choisissez Connect pour vous connecter à votre base de données source.

Privilèges pour MySQL en tant que base de données cible

Les privilèges requis pour MySQL en tant que cible lorsque vous migrez depuis PostgreSQL sont les suivants :

  • CRÉER LE * . *

  • ALLUMEZ * . *

  • DÉPOSER SUR * . *

  • INDEX SUR * . *

  • RÉFÉRENCES SUR* . *

  • SELECT ON *.*

  • CRÉER UNE VUE SUR* . *

  • SHOW VIEW ON *.*

  • DÉCLENCHEUR ACTIVÉ* . *

  • CRÉER UNE ROUTINE SUR* . *

  • MODIFIER LA ROUTINE ACTIVÉE* . *

  • EXÉCUTER SUR* . *

  • INSÉRER, METTRE À JOUR SUR AWS_POSTGRESQL_EXT. *

  • INSÉRER, METTRE À JOUR, SUPPRIMER SUR AWS_POSTGRESQL_EXT_DATA. *

  • CRÉEZ DES TABLES TEMPORAIRES SUR AWS_POSTGRESQL_EXT_DATA. *

Vous pouvez utiliser l'exemple de code suivant pour créer un utilisateur de base de données et accorder les privilèges.

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT INSERT, UPDATE ON AWS_POSTGRESQL_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_POSTGRESQL_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_POSTGRESQL_EXT_DATA.* TO 'user_name';

Dans l'exemple précédent, remplacez user_name par le nom de votre utilisateur. Remplacez ensuite your_password par un mot de passe sécurisé.

Pour utiliser Amazon RDS for MySQL ou Aurora MySQL comme cible, définissez lelower_case_table_names paramètre sur1. Cette valeur signifie que le serveur MySQL gère les identificateurs des noms d'objets tels que les tables, les index, les déclencheurs et les bases de données sans distinction majuscules/minuscules. Si vous avez activé la journalisation binaire dans votre instance cible, définissez lelog_bin_trust_function_creators paramètre sur1. Dans ce cas, vous n'avez pas besoin d'utiliser leREADS SQL DATA ouDETERMINISTIC lesNO SQL caractéristiques pour créer des fonctions stockées. Pour configurer ces paramètres, créez un groupe de paramètres DB ou modifiez un groupe de paramètres DB existant.