Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2007, 11h07   #1
Membre à l'essai
 
Inscription : février 2007
Messages : 91
Détails du profil
Informations personnelles :
Âge : 46

Informations forums :
Inscription : février 2007
Messages : 91
Points : 23
Points : 23
Par défaut passage de paramètres psql

Comment faire pour passer des paramètres à la commande psql?

Voici ma commande:
Code :
psql -h 10.x.x.x -p 68xxx -U serveur -o monfichier.csv sxcollecte < ma_requete.sql
ma_requete.sql:

Code :
1
2
3
4
5
6
7
8
9
10
11
\pset format unaligned
\pset fieldsep ,
\pset recordsep '\n'
 
\SET datedebut '01102007'
\SET datefin '31102007'
 
SELECT prestations.nom
FROM prestations
WHERE prestations.ladate >= :datedebut
	AND prestations.ladate <= :datefin
Mes paramètres a passer son bien évidemment "datedebut" et "datefin"
Rocou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 11h45   #2
Membre habitué
 
Inscription : août 2007
Messages : 128
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 128
Points : 146
Points : 146
À ma connaissance, ce n'est pas possible. Tu dois passer par un script (shell, python, ce que tu veux) mais pas seulement par psql.
gleu_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 11h48   #3
Membre habitué
 
Inscription : août 2007
Messages : 128
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 128
Points : 146
Points : 146
Oups, je viens de vérifier, et donc je viens de m'apercevoir que je viens de dire une <bip>.

Tu peux utiliser les options -v <affectation>, --set <affectation> ou encore --variable <affectation> avec affectation de la forme variable=valeur.

Ce qui donnerait dans ton cas :

Code :
1
2
3
4
5
psql -h 10.x.x.x -p 68xxx -U serveur \
  -o monfichier.csv \
  --set datedebut='01102007' \
  --set datefin='31102007' \
  sxcollecte < ma_requete.sql
Pour les guillemets simples, je ne suis pas sûr, tu vas devoir tester. Par contre, il faut virer tes \SET du script SQL.
gleu_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 12h37   #4
Membre à l'essai
 
Inscription : février 2007
Messages : 91
Détails du profil
Informations personnelles :
Âge : 46

Informations forums :
Inscription : février 2007
Messages : 91
Points : 23
Points : 23
Citation:
Envoyé par gleu_ Voir le message
Pour les guillemets simples, je ne suis pas sûr, tu vas devoir tester. Par contre, il faut virer tes \SET du script SQL.
ça fonctionne tel quel!
Un grand merci!
Rocou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h40.


 
 
 
 
Partenaires

Hébergement Web