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


	

Les GeoDataDays 2021 auront lieu les 15 et 16 septembre 2021 à Grenoble

 

Evénement national de référence et indépendant de la géographie numérique en France, cette rencontre est organisée par l'Afigéo et DécryptaGéo, en partenariat avec une plateforme régionale d'information géographique et des collectivités territoriales associées

Les inscriptions sont ouvertes et le programme disponible !

#1 Mon 19 April 2021 10:18

Lison94
Membre
Date d'inscription: 1 Apr 2020
Messages: 87

pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Bonjour à tous,

Je souhaite importer dans ma BDD postgis, un tableau Excel. Pour cela je l'ai enregistré en csv dans un fichier où j'ai ouvert les autorisation à "Tout le monde". Ensuite, via pgadmin, j'ai créé une nouvelle table et j'utilise l'outil import csv.
Seulement cela ne fonctionne pas j'obtiens un exit code 1 et je ne comprends pas pourquoi..
Auriez-vous des explications à mon problème ?

Merci par avance smile

Lison

Hors ligne

 

#2 Mon 19 April 2021 10:37

Lison94
Membre
Date d'inscription: 1 Apr 2020
Messages: 87

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Si je tape :
copy "2_risques_environnement_et_energie".nrj_potentiel_solaire_cnr_ccrc
from 'xxx.csv'
DELIMITER ';'
CSV HEADER;

J'ai ce retour :
ERROR:  could not open file "xxx.csv" for reading: No such file or directory
HINT:  COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \copy.
SQL state: 58P01

Hors ligne

 

#3 Mon 19 April 2021 10:40

Nicolas Ribot
Moderateur
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1360

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Bonjour,

Le problème de le faire avec pgAdmin est que vous n'avez pas le message d'erreur renvoyé par postgres, mais juste le message pgAdmin "erreur exit 1".

Il est plus simple de le faire avec psql directement, au moins les messages d'erreurs sont clairs et vous savez ce que pose pb.

Quelques éléments sur COPY:
• il faut lancer la commande en tant que superuser
• Si vous lancez COPY .... from ..., il faut que le fichier en question soit SUR LE SERVEUR postgres, pas sur le client.
• Si le fichier est sur votre machine et que le serveur est sur une autre machine, il faut utiliser la commande \COPY, depuis le client PSQL Ou alors copier le fichier depuis votre machine sur le serveur, dans un répertoire accessible par l'utilisateur postgres, puis lancer la commande COPY en mettant le chemin complet de ce fichier sur le serveur.

Nicolas

Hors ligne

 

#4 Mon 19 April 2021 10:42

Nicolas Ribot
Moderateur
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1360

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Lison94 a écrit:

Si je tape :
copy "2_risques_environnement_et_energie".nrj_potentiel_solaire_cnr_ccrc
from 'xxx.csv'
DELIMITER ';'
CSV HEADER;

J'ai ce retour :
ERROR:  could not open file "xxx.csv" for reading: No such file or directory
HINT:  COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \copy.
SQL state: 58P01


Il faut mettre le chemin complet du fichier xxx.csv, sinon postgres ne sait pas ou le trouver.
Et le message vous dit bien que le serveur postgres cherche le fichier sur localement sur la machine serveur, pas sur la machine cliente.

Nico

Hors ligne

 

#5 Mon 19 April 2021 10:52

Lison94
Membre
Date d'inscription: 1 Apr 2020
Messages: 87

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Nicolas Ribot a écrit:
Lison94 a écrit:

Si je tape :
copy "2_risques_environnement_et_energie".nrj_potentiel_solaire_cnr_ccrc
from 'xxx.csv'
DELIMITER ';'
CSV HEADER;

J'ai ce retour :
ERROR:  could not open file "xxx.csv" for reading: No such file or directory
HINT:  COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \copy.
SQL state: 58P01


Il faut mettre le chemin complet du fichier xxx.csv, sinon postgres ne sait pas ou le trouver.
Et le message vous dit bien que le serveur postgres cherche le fichier sur localement sur la machine serveur, pas sur la machine cliente.

Nico


Merci pour votre réponse smile
Oui j'ai mis le chemin complet, je l'ai pas noté ici pour des raisons de sécurité.
Lorsque je tape :
\COPY "2_risques_environnement_et_energie".nrj_potentiel_solaire_cnr_ccrc
from 'C:\Users\llesieur\Desktop\export\VS - Potentiel solaire CRUSSOL - MAJ.csv'
DELIMITER ';'
CSV HEADER;

Il ne reconnait pas la cmd \copy..

Hors ligne

 

#6 Mon 19 April 2021 11:02

Nicolas Ribot
Moderateur
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1360

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

\COPY est une commande propre au client PSQL.

Vous devez surement l'avoir installé si vous avez une BD postgresql locale, sinon peut etre pgAdmin livre un client psql (sinon le plus simple est d'installer une instance PG sur votre machine pour avoir le client. ca permet également de faire des tests postgres sans toucher au serveur wink )

Nicolas

Hors ligne

 

#7 Mon 19 April 2021 11:24

Lison94
Membre
Date d'inscription: 1 Apr 2020
Messages: 87

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Nicolas Ribot a écrit:

\COPY est une commande propre au client PSQL.

Vous devez surement l'avoir installé si vous avez une BD postgresql locale, sinon peut etre pgAdmin livre un client psql (sinon le plus simple est d'installer une instance PG sur votre machine pour avoir le client. ca permet également de faire des tests postgres sans toucher au serveur wink )

Nicolas


ok j'ai utilisé une pg 13.
Voila le résultat obtenu suite à la commande passée (je mets des x pour les données confidentiels) :

ERREUR:  données supplémentaires après la dernière colonne attendue
CONTEXTE : COPY test, ligne 2 : « xxx;Cre;MAD;0,40;4 tennis;4 r roland garros;44.xxx , 4.xxx»

Hors ligne

 

#8 Mon 19 April 2021 11:49

Nicolas Ribot
Moderateur
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1360

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

cela indique que le CSV contient plus de colonnes que la table de destination.
il faut checker ces colonnes csv et faire en sorte que la table ait les mêmes colonnes, ou alors préciser les colonnes de la table dans la commande copy
copy TABLE (col1, col2, ...) from '....';

Nicolas

Hors ligne

 

#9 Mon 19 April 2021 12:37

Lison94
Membre
Date d'inscription: 1 Apr 2020
Messages: 87

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Ok j'ai bien mis le même nombre de champs que de colonnes. Maintenant j'ai une autre erreur :   données manquantes pour la colonne « Type ». Pourtant toutes les cellules sont remplies.

Hors ligne

 

#10 Mon 19 April 2021 12:57

Nicolas Ribot
Moderateur
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1360

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Là, ca veut peut etre dire que le séparateur choisi (wink n'est pas le bon et qu'une valeur contient ce séparateur: ca décale alors la lecture des données.

Hors ligne

 

#11 Mon 19 April 2021 13:56

Lison94
Membre
Date d'inscription: 1 Apr 2020
Messages: 87

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

Nicolas Ribot a écrit:

Là, ca veut peut etre dire que le séparateur choisi (wink n'est pas le bon et qu'une valeur contient ce séparateur: ca décale alors la lecture des données.


Super ca fonctionne merci ! Maintenant je n'ai pas de client sql pour ce serveur (lizmap), comment je peux me connecter via l'invite de commande ?

Hors ligne

 

#12 Mon 19 April 2021 14:03

Lison94
Membre
Date d'inscription: 1 Apr 2020
Messages: 87

Re: pb import fichier csv dans bdd postgis via pgadmin : EXIT code 1

C'est bon j'ai réussi j'ai trouvé le SQL SHELL merci beaucoup Nicolas !!

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |