a few Questions about quoted variables in psql

From: "Leo Leo" <leoel(at)gmx(dot)at>
To: pgsql-general(at)postgresql(dot)org
Subject: a few Questions about quoted variables in psql
Date: 2004-06-30 12:02:56
Message-ID: 18698.1088596976@www29.gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

--
+++ Jetzt WLAN-Router fr alle DSL-Einsteiger und Wechsler +++
GMX DSL-Powertarife zudem 3 Monate gratis* http://www.gmx.net/dsl

Responses

Browse pgsql-general by date

  From Date Subject
Next Message val 2004-06-30 12:21:00 DML Restriction unless through a function
Previous Message Bob Parkinson 2004-06-30 09:32:05 sharing tcl proc's between functions