CREATE USER within function
От | Michal Taborsky |
---|---|
Тема | CREATE USER within function |
Дата | |
Msg-id | b6s4oj$7c0$1@news.hub.org обсуждение исходный текст |
Список | pgsql-general |
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
В списке pgsql-general по дате отправления: