From: | philippe(dot)beaudoin(at)bull(dot)net |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Réf. : Re: Variable de script psql |
Date: | 2009-06-24 12:10:10 |
Message-ID: | OF4EB9FBEA.56019788-ONC12575DF.0041CF64@frcl.bull.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
>Bonjour,
>
>Le mercredi 24 juin 2009 à 10:50:21, philippe(dot)beaudoin(at)bull(dot)net a écrit :
>> [...]
>> Il faudrait que je puisse rendre variable le pathname d'une commande :
>> \copy <table> to <pathname>
>> J'ai essayé d'ajouter des options -v à la commande psql pour passer des
>> variables. Mais quand j'écris
>> \copy <table> to :var
>> la variable :var n'est pas substituée (et j'obtiens un beau fichier
nommé
>> ... :var !)
>> Idem si la variable est définie par un \set , alors que \echo :var
affiche
>> bien le contenu de la variable.
>> Je n'ai donc pas trouvé la bonne syntaxe, si elle existe...
>>
>
>Remplacez le \copy par la commande SQL COPY. Et pensez à bien ajouter les
>guillemets à la valeur de votre variable, ainsi par exemple :
>
>\set toto '''/home/guillaume/toto'''
>
Merci pour les tuyaux.
Mais la commande sql COPY pose un autre souci : il faut être superuser pour
l'utiliser, ce qui ne va pas bien dans notre contexte.
Je vais creuser l'idée de François.
\o :mavariable -- redirige la sortie de psql vers
\copy nom_table to stdout -- Effectue la copie de la table
\o -- arrête la redirection
Mais la sortie standard du script est déjà orientée vers un fichier au
niveau de la commande
psql -o ...
En fait, on veut 2 fichiers de sortie : le log de la session psql d'un côté
et le résultat du \copy.
Je vais voir ce que cela peut donner.
Philippe.
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume Lelarge | 2009-06-24 12:32:15 | Re: Limite de connexions dépassée pour les utilisateurs standards |
Previous Message | Samuel ROZE | 2009-06-24 11:09:42 | Limite de connexions dépassée pour les utilisateurs standards |