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 base de données PostgreSQL
La commande PostgreSQL \copy est une méta-commande disponible à partir de l'outil client interactif psql. Vous pouvez utiliser \copy pour importer des données dans une table sur votre instance de base de données RDS pour PostgreSQL. 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 utiliser \copy pour charger des données à partir d'un fichier CSV (valeurs séparées par des virgules), par exemple un fichier qui a été exporté et enregistré sur votre poste de travail client.
Pour importer les données CSV vers l’instance de base de données RDS pour PostgreSQL cible, connectez-vous d’abord à l’instance de base de données cible à l’aide de psql.
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 devant recevoir les données copiées à partir du fichier CSV. -
column_list: spécifications des colonnes pour la table. -
'filename': chemin d'accès complet vers le fichier CSV sur votre poste de travail local.
\copytarget_tablefrom '/path/to/local/filename.csv' WITH DELIMITER ',' CSV;
Si votre fichier CSV contient des informations d'en-tête de colonne, vous pouvez utiliser cette version de la commande et des paramètres.
\copytarget_table(column-1,column-2,column-3,...) from '/path/to/local/filename.csv' WITH DELIMITER ',' CSV HEADER;
Si la commande \copy échoue, PostgreSQL renvoie des messages d'erreur.
Création d’une nouvelle instance de base de données dans la commande psql de l’environnement de version préliminaire de base de données avec la méta-commande \copy telle qu’illustrée 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 Linux, macOS ou Unix :
$psql target-db \ -U <admin user> \ -p <port> \ -h <DB instance name> \ -c "\copy source-table from 'source-table.csv' with DELIMITER ','"
Pour 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 commande \copy, consultez la page psql