PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 25/04/2016 11:07:31

nsa_tanay
Membre

Comment exécuter un code Postgress SQL depuis un script shell Unix ?

J’essaie d’exécuter le code suivant depuis un script « shell » Unix. Je suis en mesure de me connecter à Postgress SQL…


LD_LIBRARY_PATH=/opt/sas/sashome/SASWebInfrastructurePlatformDataServer/9.4/lib
export LD_LIBRARY_PATH
PGPASSWORD=*******
export PGPASSWORD
/opt/sas/sashome/SASWebInfrastructurePlatformDataServer/9.4/bin/psql -U mysuser -h localhost -p 6432 -d myDatabase
/*le code fonctionne parfaitement jusqu’à ce point. Je suis en mesure de me connecter à Postgress SQL. je suis connecté*/

/*mais la partie suivante ne fonctionne pas*/
select * from sas_audit;


la commande n'a même pas exécuté. curseur clignote dans l'invite de commande de psql

Hors ligne

#2 25/04/2016 12:37:13

rjuju
Administrateur

Re : Comment exécuter un code Postgress SQL depuis un script shell Unix ?

Soit la requête est longue, soit elle est bloquée en attente de verrou. Essayer "SELECT * FROM sas_audit LIMIT 1;", et sinon regardez via une autre connexion l'état de la requête (SELECT waiting, query FROM pg_stat_activity).

En ligne

#3 25/04/2016 17:16:49

jpcarayo
Membre

Re : Comment exécuter un code Postgress SQL depuis un script shell Unix ?

Bonjour,

Que se passe t'il si vous modifier votre script shell comme suit ?
----------------------
LD_LIBRARY_PATH=/opt/sas/sashome/SASWebInfrastructurePlatformDataServer/9.4/lib
export LD_LIBRARY_PATH
PGPASSWORD=*******
export PGPASSWORD
/opt/sas/sashome/SASWebInfrastructurePlatformDataServer/9.4/bin/psql -U mysuser -h localhost -p 6432 -d myDatabase   <<EOF!
select * from sas_audit;
\q
EOF!
-----------------

( rajout de <<EOF! et EOF! )

Bien cordialement,
Jean-Pierre

Hors ligne

#4 28/04/2016 11:29:33

yohmartin
Membre

Re : Comment exécuter un code Postgress SQL depuis un script shell Unix ?

Bonjour,
sinon tu créé un fichier sql avec ta requete et tu l'execute avec l'option -f :
exemple : monfichier.sql
select * from sas_audit;

ton script :

LD_LIBRARY_PATH=/opt/sas/sashome/SASWebInfrastructurePlatformDataServer/9.4/lib
export LD_LIBRARY_PATH
PGPASSWORD=*******
export PGPASSWORD
/opt/sas/sashome/SASWebInfrastructurePlatformDataServer/9.4/bin/psql -U mysuser -h localhost -p 6432 -d myDatabase  -f monfichier.sql

Yohann

Hors ligne

Pied de page des forums