Utilisation de la commande \ copy pour importer des données dans une table sur une instance de SQL base de données Postgre - 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.

Utilisation de la commande \ copy pour importer des données dans une table sur une instance de SQL base de données Postgre

La SQL \copy commande Postgre est une méta-commande disponible dans l'outil client psql interactif. Vous pouvez l'utiliser \copy pour importer des données dans une table sur votre SQL instance RDS de base de données Postgre. Pour utiliser la commande \copy, vous devez d'abord créer la structure de la table sur l'instance de base de données cible, afin que \copy dispose d'une destination pour les données copiées.

Vous pouvez l'utiliser \copy pour charger des données à partir d'un fichier de valeurs séparées par des virgules (CSV), tel qu'un fichier exporté et enregistré sur votre poste de travail client.

Pour importer les CSV données vers la cible RDS pour l'instance de base de données Postgre, connectez-vous d'abord à l'SQLinstance de base de données cible à l'aide psql de.

psql --host=db-instance.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=target-db

Exécutez ensuite la commande \copy avec les paramètres suivants afin d'identifier la cible pour les données et son format.

  • target_table— Nom de la table qui doit recevoir les données copiées depuis le CSV fichier.

  • column_list : spécifications des colonnes pour la table.

  • 'filename'— Le chemin complet du CSV fichier sur votre poste de travail local.

\copy target_table from '/path/to/local/filename.csv' WITH DELIMITER ',' CSV;

Si votre CSV fichier contient des informations d'en-tête de colonne, vous pouvez utiliser cette version de la commande et des paramètres.

\copy target_table (column-1, column-2, column-3, ...) from '/path/to/local/filename.csv' WITH DELIMITER ',' CSV HEADER;

Si la \copy commande échoue, Postgre SQL affiche des messages d'erreur.

Création d'une nouvelle instance de base de données dans l'environnement de prévisualisation de base de données à l'aide de la psql commande associée à la \copy méta-commande, comme indiqué dans les exemples suivants. Cet exemple utilise source-table comme nom de tableau source, source-table.csv comme fichier .csv et target-db comme base de données cible :

Pour LinuxmacOS, ou Unix :

$psql target-db \ -U <admin user> \ -p <port> \ -h <DB instance name> \ -c "\copy source-table from 'source-table.csv' with DELIMITER ','"

Dans Windows :

$psql target-db ^ -U <admin user> ^ -p <port> ^ -h <DB instance name> ^ -c "\copy source-table from 'source-table.csv' with DELIMITER ','"

Pour plus de détails sur la \copy commande, consultez la page psql de la SQL documentation de Postgre, dans la section Méta-commandes.