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

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to