quoting internal variable names

From: Ron Peterson <rpeterso(at)mtholyoke(dot)edu>
To: pgsql-general(at)postgresql(dot)org
Subject: quoting internal variable names
Date: 2005-02-19 22:30:25
Message-ID: 20050219223025.GA10322@mtholyoke.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I'm trying to use PostgreSQL's internal variables to simplify some shell
scripting database setup stuff. Single quotes appear to behave
differently in diffent contexts.

CREATE USER
:v_dbadmin
WITH PASSWORD
':v_dbpass';
CREATE USER

....CREATE USER worked o.k.

CREATE DATABASE
:v_dbname
WITH OWNER
:v_dbadmin
ENCODING
':v_encoding';
ERROR: :v_encoding is not a valid encoding name

....here the quotation marks appear to throwing things off

:v_encoding is set to SQL_ASCII. If I remove the quotation marks, then
I (appropriately enough) get the error:

CREATE DATABASE
:v_dbname
WITH OWNER
:v_dbadmin
ENCODING
:v_encoding;
ERROR: syntax error at or near "SQL_ASCII" at character 59
LINE 6: SQL_ASCII;

So it seems like the single quotes are causing :v_encoding to be read as
a string literal for ENCODING, but they don't do that for WITH PASSWORD.

?

--
Ron Peterson
Network & Systems Manager
Mount Holyoke College
http://www.mtholyoke.edu/~rpeterso

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron Peterson 2005-02-19 23:45:45 Re: quoting internal variable names
Previous Message Bruno Wolff III 2005-02-19 19:20:33 Re: Group By and wildcards...