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

#1 25/05/2012 14:10:39

brse
Membre

psql et paramètres

Bonjour,

Dans un script bin, j'exécute une commande psql avec passage de paramètre afin de faire passer un script sql situé dans un fichier comme ci dessous :
psql -h localhost -p 5432 -U postgres -f "mon_script.sql" -o ma_log.log -d postgres --set postgrescript=%POSTGRE_SCRIPT% --set sep=%SEP%

Le script sql en question crée un utilisateur et fait appel à un autre fichier sql grâce à la comme \i comme ci dessous.


\set monautreScript monautreScript.sql
\i :'oraclescript':"sep":"monautreScript"

Mon problème :
Que ce soit la commande \i ou \echo, je n'arrive pas à concatener 2 (ou plusieurs) variables. A chaque fois on me rajoute un espace à la fin de chaque variable.
Du coup dans le cas présenté ci dessus, la commande \i s'arrête au dossier parent et ne prend pas le fichier en entré (elle ne prend en compte que la variable oraclescript, pas les deux autres).

Est-ce que quelqu'un à une solution ?

Merci

PS : Je ne peux pas mettre dans une seule variable avec le chemin de mon script car ce serait trop de travail.

Dernière modification par brse (25/05/2012 14:13:08)

Hors ligne

#2 25/05/2012 14:25:26

rjuju
Administrateur

Re : psql et paramètres

Bonjour,
je pense que les commandes
\set final :'oraclescript':"sep":"monautreScript"
\i final
devraient marcher.

Hors ligne

#3 25/05/2012 14:40:35

brse
Membre

Re : psql et paramètres

J'ai réussi en créant une nouvelle variable comme tu m'as dit mais sans mettre de " ou ' sur les variables et ça fonctionne :

\set script :oraclescript:sep:adminDir:sep'create_schema.sql'


Merci de votre aide

Hors ligne

Pied de page des forums