a few Questions about quoted varaibles in psql

From: "Leo Leo" <leoel(at)gmx(dot)at>
To: pgsql-sql(at)postgresql(dot)org
Subject: a few Questions about quoted varaibles in psql
Date: 2004-02-26 15:58:28
Message-ID: 9042.1077811108@www35.gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi!

How can I interpret a variable in psql, when the variable has to be quoted?

for example:

\set myVar myValue
\echo :myVar
The Result ist then "myValue" ==> ok

But: in my case the variable-values have to be in quotes:

\set db_username myUsername
\set db_password myPassword

CREATE USER :db_username WITH PASSWORD :db_password

==> This will not work, because you need quotes

CREATE USER :db_username WITH PASSWORD ':db_password'

==> This will create the user with Password :db_password and not myPassword
(so it takes the name of the varibale and not den value)

I played a bit with excaping, but even '\'':db_password'\'' will not work

What can I do, in order to achieve, that psql interprets a variable in
quotes?

Another Problem:
================
How can I concatenate a variable with a string without having a space in
between?

\set foo bar
\echo :foo test
==> bar test (but there is a space in between)

\echo :foo||test
==> this does not work (I want bartest)
Is it somehow possible to do this?

Thanks for your help!

Leo

--
GMX ProMail (250 MB Mailbox, 50 FreeSMS, Virenschutz, 2,99 EUR/Monat...)
jetzt 3 Monate GRATIS + 3x DER SPIEGEL +++ http://www.gmx.net/derspiegel +++

Browse pgsql-sql by date

  From Date Subject
Next Message Michael Chaney 2004-02-26 16:37:02 Re: Last day of month
Previous Message Stephan Szabo 2004-02-26 15:29:27 Re: Return more than a record