Je suis novice en psql et j'ai besoin d'aide. Comment puis-je charger un CSV local dans une base de données distante?
J'utilise la commande suivante
\COPY test(user_id, product_id, value)
FROM '/Users/testuser/test.tsv' WITH DELIMITER '\t' CSV HEADER;
mais cela recherche le fichier sur la base de données distante alors que je dois le faire sur mon PC local.
postgresql
postgresql-9.1
user22149
la source
la source
\copy
lit un fichier local (c'est unepsql
commande et ne peut être utilisé que de l'intérieurpsql
).COPY
cependant (notez le `` manquant '') lira le fichier sur le serveur.E'\t'
. Mais tab devrait être la valeur par défaut si vous ne spécifiez pas de délimitation de toute façon.Réponses:
Il y a deux possibilités ici.
Si vous utilisez psql, alors \ copy est la bonne façon de faire les choses comme vous le mentionnez.
Si vous utilisez un programme client que vous avez créé, vous devez
Et puis insérez le fichier (voir la documentation sur la commande COPY .
La commande COPY est une bête légèrement étrange. C'est la seule commande que PostgreSQL supporte actuellement de Quel et donc elle est à la fois non standard et basée sur quelque chose d'un paradigme différent du reste des commandes. Pour cette raison, il est important de lire les documents relativement attentivement sur cette commande.
la source