Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

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

 

Pied de page des forums

Powered by FluxBB