Pages: 1
- Sujet précédent - PostGis: script ou requete SQL pour exporter une table en csv - Sujet suivant
#1 Fri 23 February 2018 10:18
- Elys
- Participant actif
- Date d'inscription: 1 Mar 2016
- Messages: 54
PostGis: script ou requete SQL pour exporter une table en csv
Bonjour,
Est-ce que vous connaissez un petit script ou une commande sql qui permet d'exporter une table postgis en fichier csv?
j'ai essayé avec la commande :
\COPY (select * from matable) TO 'C:\chemin\test.csv' with csv
mais ca me renvoi cette erreur :
syntax error at or near "\"
LINE 1: \COPY (select * from ...
Bonne journée à tous
Hors ligne
#2 Fri 23 February 2018 11:33
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: PostGis: script ou requete SQL pour exporter une table en csv
Normalement, tu n'as pas à saisir le "\" au début de ta requête :
Code:
COPY (select * from matable) TO 'C:\chemin\test.csv' with csv
Mais après, tu risques d'avoir des messages d'erreur du type :
ERREUR: n'a pas pu ouvrir le fichier « test.csv » pour une lecture : Permission denied
En tout cas, c'est mon cas sur Windows 7.
Le problème est soulevé dans ce message : https://georezo.net/forum/viewtopic.php?id=76790 , en lien avec les droits d'écriture de l'utilisateur postgres sur Windows, mais n'a pas trouvé de solution : je suis moi-même intéressé par la solution.
Sinon, je crois que ça marche mieux en ligne de commande via psql.
Bon courage.
Sylvain M.
Hors ligne
#3 Fri 23 February 2018 11:53
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: PostGis: script ou requete SQL pour exporter une table en csv
Bonjour
• "COPY ..." est une commande SQL, executable depuis n'importe quel client SQL (pgAdmin, psql, etc.). Il permet de copier une table vers/depuis un fichier, mais relativement au serveur: le chemin du fichier précisé dans la commande doit exister sur le serveur.
C'est parfait:
- si on travaille directement sur le serveur (install locale par exemple)
- ou si on a accès facilement au serveur pour copier des fichiers dessus
• "\COPY ... " est une commande psql, qui n'est comprise que par ce programme. Elle permet au client psql de copier une table depuis/vers un fichier local.
PostgreSQL tourne sous le compte d'un utilisateur normal (souvent appelé postgres). Il faut donc que les fichiers a copier soit lisibles/modifiables par cet utilisateur.
Nicolas
Hors ligne
#4 Fri 23 February 2018 12:39
Re: PostGis: script ou requete SQL pour exporter une table en csv
Nicolas,
• "\COPY ... " est une commande psql, qui n'est comprise que par ce programme. Elle permet au client psql de copier une table depuis/vers un fichier local.
Et uniquement sous unix, non ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
Pages: 1
- Sujet précédent - PostGis: script ou requete SQL pour exporter une table en csv - Sujet suivant