IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Importation d'un fichier csv vers une base de données PostgreSQL


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Pologne

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Par défaut Importation d'un fichier csv vers une base de données PostgreSQL
    Bonjour,

    Je travaille sur un serveur mutualisé OVH et je souhaite importer un fichier csv, avec délimiteur '';'', dans une base Postgresql. J'ai copié le fichier csv dqns le répertoire www et j'ai lancé une commande de type SQL COPY FROM '/www/wp-includes/xxxxxx/liste_produits.csv' with delimiter ';' . Cela ne fonctionne est-ce quelqu'un a une suggestion ? J'ai bien sur fait toute sorte d'essai. Merci d'avance

  2. #2
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 101
    Par défaut
    Il peut y avoir plusieurs sources à ce problème, entre autres:
    -les permissions sur le fichier (l'user "postgres" peut-il y accéder)?
    -directive "quote" manquante, ce qui est problématique si les données texte contiennent le délimiteur (personnelement je préfère recourir à "\t" plutôt que des séparateur qui appartiennent à la langue naturelle)
    -format d'encodage (UTF-8, Latin1, etc...) différent entre le serveur Postgresql et le fichier, le plus rapide est alors de re-sauvergarder le fichier dans un éditeur de type notepad++ dans le format d'encodage des tables.
    etc...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    @CetTer sur un hebérgement OVH il n'y a pas d'accès à l'utilisateur postgres comme cela pourrait être sur une solution VPS.

    Le problème viens sûrement du fait que sur un hébergement mutualisé, OVH*le répertoire www n'est pas stocker à côté (sur la même machine) que la base de donnée ; ça explique le soucis de lancement de la commande sql qui ne trouvera jamais le chemin du script à lancer.

    D'après moi, le plus simple reste de charger le csv sur un base dédié et de transférer un dump , sur un schéma différent si besoin.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Si ton fichier CSV est accessible via le réseau, tu peux peut-être utiliser le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    COPY FROM PROGRAM 'curl http://url_vers_fichier_csv.csv'
    ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    OVH donne des accès pour les bases MySql, je viens de tomber sur la doc ici, mais malheureusement pas pour postgres.

    Il parle d'un accès ssh mais il n'est visiblement pas inclus dans mon offre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ssh monuser@ip_serveur_ftp 
    ssh: connect to ………… port 22: Connection refused

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Mais tu peux te connecter à ta base PostgreSQL non ? Avec pgAdmin par exemple.

    Ensuite tu exécutes des requêtes en prenant en compte que le process tourne sur une machine, et si tu n'as pas la possibilité d'accéder aux fichiers physiquement, tu peux les rendre accessibles en http et utiliser COPY FROM PROGRAM ainsi que curl pour récupérer le fichier et l'intégrer.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/08/2010, 16h29
  2. [MySQL] Importer les données d'un fichier CSV dans une base de données
    Par joueur dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/11/2008, 11h59
  3. Réponses: 2
    Dernier message: 21/09/2007, 18h47
  4. Réponses: 1
    Dernier message: 28/04/2006, 16h17
  5. Importation de fichier CSV vers une base Interbase
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 15/03/2005, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo