Home > Informatique > Exporter rapidement ses données au format CSV avec PostgreSQL

Exporter rapidement ses données au format CSV avec PostgreSQL

février 18th, 2011 Leave a comment Go to comments

Voici une astuce qui permet d’effectuer cette opération très rapidement :
psql -U postgres -d oa_dev -c "COPY (select cli_nom as Nom, cli_vil as Ville from tbd_cli) to '/tmp/cli.csv' CSV HEADER"

J’extrait de ma base oa_dev les champs cli_nom et cli_vil de ma table tbd_cli vers le fichier cli.csv.

Simple non ?

Categories: Informatique Tags: .: csv .: postgresql
  1. Epy
    février 18th, 2011 at 17:30 | #1

    Excellent ! Merci pour l’info
    Saurais-tu comment pousser ce fichier vers le navigateur, pour qu’il propose de le télécharger ?

  2. Marco
    février 19th, 2011 at 08:32 | #2

    Tu ne peux pas comme ça directement, là t’es du côté « serveur ».
    Après tu peux toujours faire l’export vers un répertoire de ton serveur web et proposer un lien vers le fichier dans une page HTML…
    Mais je ne sais pas exactement ce que tu veux faire, ni avec quel langage.

  3. Epy
    février 19th, 2011 at 22:10 | #3

    Je sais qu’en php (ce que je souhaite) on peut faire du push, si je ne me trompe pas de nom, ça oblige le navigateur à proposer le fichier en téléchargement plutôt qu’essayer de l’ouvrir (utile quand il s’agit d’un fichier texte comme là) et de ne pas avoir à stocker ce fichier sur le serveur (uniquement dans le cache du serveur php)
    Et c’est bien le serveur web qui fait ça.

    Je pense surtout aux utilisateurs non aguerris qui ne saurons pas télécharger le fichier avec son lien, ils vont l’ouvrir systématiquement.
    Mais je rechercherai ça plus tard, quand j’aurais fini mon développement =)
    Merci 😉

  1. No trackbacks yet.