Annonce
Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.
Vous allez recevoir un message pour effectuer ce changement de mot de passe.
Merci de bien respecter les règles préconisées.
#1 Wed 19 November 2014 15:45
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Import de fichier CSV en masse Postgresql
Bonjour,
J'importe des fichiers .csv dans ma base PostreSQL (un par un) sans problème en utilisant
Code:
COPY table_name FROM 'D:/postgres_donnees/fichier1.csv' WITH DELIMITER AS '|';
aujourd'hui j'ai un répertoire qui contient 120 fichiers csv ayant la même structure, je trouve que c'est un peu long d'importer fichier par fichier et je me demande s'il y a un moyen d'importer tous les fichers csv dans une seule requête COPY.
j'ai essayé
Code:
COPY table_name FROM 'D:/postgres_donnees';
mais j'ai un message d'erreur
Code:
ERREUR: n'a pas pu ouvrir le fichier « D:\postgres_donnees » pour une lecture : Permission denied
est ce que vous avez une idée sur la résolution de ce problème ?
Merci
Dernière modification par simo lay (Wed 19 November 2014 16:05)
Hors ligne
#2 Wed 19 November 2014 16:37
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1538
Re: Import de fichier CSV en masse Postgresql
Bonjour,
Une commande ou un script, (shell ou dos) est parfait pour ca, du style (l'exemple marche pas...)
Code:
for f in `dir D:/postgres_donnees/*.csv`; do psql -c "COPY table_name FROM 'D:/postgres_donnees/$f' WITH DELIMITER AS '|'" done
En dos, me rappelle plus trop la syntaxe, mais un rapide google donnera la réponse
Nicolas
Hors ligne
#3 Wed 19 November 2014 17:27
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Re: Import de fichier CSV en masse Postgresql
Merci Nicolas Ribot .
Hors ligne