Le but est de récupérer le résultat d'une requête dans un fichier dans un format particulier :
Pré-requis : se connecter avec un compte superuser, et aller dans la base concernée.
  • Format csv avec entête des colonnes :
requête :
copy (<ecrire_ici_la_requête>) to '</directory/du/fichier/résultat.csv>' with header csv ;
     ex : copy (select * from alf_content_url ) to '/tmp/test.csv' with header csv ;
 
  • Format csv sans entête des colonnes :
requête :
copy (<ecrire_ici_la_requête>) to '</directory/du/fichier/résultat.csv>' with csv ;
    ex : copy (select * from alf_content_url ) to '/tmp/test.csv' with csv ;
 
  • Format texte avec entête des colonnes et séparateur de notre choix :
requête :
copy (<ecrire_ici_la_requête>) to '</directory/du/fichier/résultat.txt>' with header delimiter '<symbole>' csv ;
    ex : copy (select * from alf_content_url ) to '/tmp/test.txt' with header delimiter '|' csv ;
 
Il est aussi possible de récupérer le résultat de la requête de façons différentes : PostgreSQL : Alternative à : résultat d'une requête postgres dans un fichier csv.