Re: [GENERAL] CREATE USER within function
От | Bruce Momjian |
---|---|
Тема | Re: [GENERAL] CREATE USER within function |
Дата | |
Msg-id | 200304150004.h3F04wg23848@candle.pha.pa.us обсуждение исходный текст |
Ответы |
Re: [GENERAL] CREATE USER within function
|
Список | pgsql-bugs |
Jan, would you take a look at this? It is reproducable. I see the query sending "CREATE USER $1 ..." in the server logs. --------------------------------------------------------------------------- Michal Taborsky wrote: > Hi, > > I am facing a problem. I am unable to call CREATE USER from within a > PL/PgSQL function. I am using Postgres 7.3.2. > > The function looks like this (it is more complex in fact, but even if > stripped to this, it does not work anyway): > > CREATE OR REPLACE FUNCTION > usr_createAccount(integer, name, text, text, bool, bool) > RETURNS bool AS ' > BEGIN > CREATE USER $2 WITH PASSWORD $3 NOCREATEDB CREATEUSER IN GROUP "all", > "super"; > RETURN true; > END; > ' LANGUAGE 'plpgsql'; > > I keep getting this: > > akcent=# select usr_createAccount(3, 'username', 'somepassword', 'cs', > true, false); > WARNING: Error occurred while executing PL/pgSQL function usr_createaccount > WARNING: line 2 at SQL statement > ERROR: parser: parse error at or near "$1" at character 14 > > I am a bit confused by this error, because there is no "$1" string in > this function. I tried to do a CREATE USER in transaction, because I > suspected it to be the problem, but it worked just fine. Does anyone see > something which I don't ? What am I doing wrong ? > > Thanks, > Michal > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faqs/FAQ.html > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-bugs по дате отправления: