web-dev-qa-db-fra.com

Comment puis-je copier du fichier local vers DB distante dans PostgreSQL?

Je suis novice en PSQL et j'ai besoin d'aide. Comment puis-je charger un CSV local sur une DB 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 recherchent le fichier sur la télécommande DB pendant que je dois le faire sur mon PC local.

9
user22149

Il y a deux possibilités ici.

  1. Si vous utilisez psql, alors\Copy est la bonne façon de faire les choses comme vous le mentionnez.

  2. Si vous utilisez un programme client que vous avez écrit, vous devez alors

    COPY FROM STDIN.....
    

Puis nourrir le fichier dans (voir la section Documentation de la commande de copie .

La commande de copie est une bête légèrement étrange. C'est la seule commande PostgreSQL soutient actuellement de Quel et il est donc à la fois non standard et basé sur quelque chose d'un paradigme différent de celui du reste des commandes. Pour cette raison, il est important de lire les documents relativement soigneusement sur cette commande.

5
Chris Travers