using 'ALTER ROLE' in a function

Поиск
Список
Период
Сортировка
От Lutz Broedel
Тема using 'ALTER ROLE' in a function
Дата
Msg-id 46028751.2080807@fggm.uni-hannover.de
обсуждение исходный текст
Ответы Re: using 'ALTER ROLE' in a function  (Douglas McNaught <doug@mcnaught.org>)
Список pgsql-general
Dear list,

I'm trying to write a PL/pgSQL function that executes some code every
time a user changes his/her password. The function is supposed to work
like this:

CREATE OR REPLACE FUNCTION changePwd(varchar(255)) RETURNS boolean AS $$
DECLARE
    pwd varchar(255);
    curr_user name;
BEGIN
    curr_user = (SELECT session_user);
    pwd = $2;

    ALTER ROLE curr_user WITH ENCRYPTED PASSWORD pwd;
    -- [... do some other stuff ...]
    RETURN true;
END;
$$ LANGUAGE 'PLPGSQL';

but PostgreSQL returns:
ERROR:  Error »syntax error« at »$1« at character 13
QUERY:  ALTER ROLE  $1  WITH ENCRYPTED PASSWORD  $2

I have tried this in several ways and it seems, ALTER ROLE just does not
accept a parameter instead of name. Does anybody have a solution for this?

Thanks in advance and best regards,
Lutz


В списке pgsql-general по дате отправления:

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: Re: to_tsvector in 8.2.3
Следующее
От: Erik Jones
Дата:
Сообщение: Deadlock with REINDEX TABLE