Importation d'une SQL base de données Postgre depuis une instance Amazon EC2 - Amazon Relational Database Service

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.

Importation d'une SQL base de données Postgre depuis une instance Amazon EC2

Si vous avez des données sur un SQL serveur Postgre sur une EC2 instance Amazon et que vous souhaitez les déplacer vers une SQL instance de base de données Postgre, vous pouvez suivre ce processus pour migrer les données.

  1. Créez un fichier contenant les données à charger à l'aide de pg_dump

  2. Créez l'instance de base de données cible

  3. Utilisez psql pour créer la base de données sur l'instance de base de données et pour charger les données

  4. Créez un instantané de base de données de l'instance de base de données

Les sections suivantes fournissent plus de détails sur chacune des étapes répertoriées ci-dessus.

Étape 1 : Créer un fichier contenant les données à charger à l'aide de pg_dump

L'pg_dumputilitaire utilise la COPY commande pour créer un schéma et un vidage des données d'une SQL base de données Postgre. Le script de vidage généré par pg_dump charge les données dans une base de données dotée du même nom et recrée les tables, les index et les clés étrangères. Vous pouvez utiliser la commande pg_restore et le paramètre -d pour restaurer les données dans une base de données dotée d'un nom différent.

Avant de créer le vidage des données, vous devez interroger les tables à vider pour obtenir le nombre de lignes afin de pouvoir confirmer ce nombre sur l'instance de base de données cible.

La commande suivante crée un fichier de vidage mydb2dump.sql pour une base de données nommée mydb2.

prompt>pg_dump dbname=mydb2 -f mydb2dump.sql

Étape 2 : Créer l'instance de bases de données cible

Créez l'SQLinstance de base de données Postgre cible à l'aide de la RDS console Amazon AWS CLI, ouAPI. Créez l'instance avec le paramètre de rétention des sauvegardes défini sur 0 et désactivez le mode multi-AZ. Cela vous permet d'effectuer une importation plus rapide des données. Vous devez créer une base de données sur l'instance avant de pouvoir vider les données. La base de données peut avoir le même nom que celle qui contenait les données vidées. Sinon, vous pouvez créer une base de données avec un autre nom. Dans ce cas, vous pouvez utiliser la commande pg_restore et le paramètre -d pour restaurer les données dans une base de données dotée d'un nouveau nom.

Par exemple, les commandes suivantes permettent de vider, de restaurer et de renommer une base de données.

pg_dump -Fc -v -h [endpoint of instance] -U [master username] [database] > [database].dump createdb [new database name] pg_restore -v -h [endpoint of instance] -U [master username] -d [new database name] [database].dump

Étape 3 : Utiliser psql pour créer la base de données sur l'instance de base de données et charger les données

Vous pouvez utiliser la même connexion que vous avez utilisée pour exécuter la commande pg_dump pour vous connecter à l'instance de base de données cible et recréer la base de données. Grâce à psql, vous pouvez utiliser l'identifiant principal et le mot de passe principal pour créer la base de données sur l'instance de base de données.

L'exemple suivant utilise psql et un fichier de vidage nommé mydb2dump.sql pour créer une base de données appelée mydb2 sur une instance de base de données Postgre appelée mypginstance SQL :

Dans Linux, macOS, ou Unix:

psql \ -f mydb2dump.sql \ --host mypginstance.555555555555.aws-region.rds.amazonaws.com \ --port 8199 \ --username myawsuser \ --password password \ --dbname mydb2

Dans Windows:

psql ^ -f mydb2dump.sql ^ --host mypginstance.555555555555.aws-region.rds.amazonaws.com ^ --port 8199 ^ --username myawsuser ^ --password password ^ --dbname mydb2
Note

Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

Étape 4 : Créer un instantané de base de données de l'instance de bases de données

Une fois que vous avez vérifié que les données ont été chargées dans votre instance de base de données, nous vous recommandons de créer un instantané de base de données de l'SQLinstance de base de données Postgre cible. Les snapshots DB sont des sauvegardes complètes de votre instance de base de données qui peuvent être utilisées pour restaurer l'instance de base de données à un état connu. Un instantané de base de données pris immédiatement après le chargement vous évite de devoir charger les données à nouveau en cas d'incident. Vous pouvez également l'utiliser pour créer de nouvelles instances de base de données. Pour plus d'informations sur la création d'un instantané de base de données, consultez Création d'un instantané de base de données pour une instance de base de données mono-AZ pour Amazon RDS.