Thread: How to execute 'set session role' from plpgsql function?
Hi,everybody! I wish to have a function with code above, but compiller generate syntactic error at the line "SET SESSION ROLE wishedrole;". How to pass the wishedrole value to the structure? CREATE OR REPLACE FUNCTION f_switch_role(INOUT text,INOUT boolean) AS $BODY$ DECLARE wishedrole ALIAS FOR $1; resetrole ALIAS FOR $2; BEGIN if resetrole=true then RESET ROLE; RETURN; end if; >>>>ERROR OCURS AT THE NEXT LINE <<<<<< SET SESSION ROLE wishedrole; RETURN; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE
Just a suggestion:
EXECUTE 'SET SESSION ROLE wishedrole';
won't help?
EXECUTE 'SET SESSION ROLE wishedrole';
won't help?
2008/8/17 Oleg Vasylenko <pulp@mail.ru>
Hi,everybody!
I wish to have a function with code above, but compiller generate
syntactic error at the line "SET SESSION ROLE wishedrole;".
How to pass the wishedrole value to the structure?
CREATE OR REPLACE FUNCTION f_switch_role(INOUT text,INOUT boolean) AS
$BODY$
DECLARE
wishedrole ALIAS FOR $1;
resetrole ALIAS FOR $2;
BEGIN
if resetrole=true then
RESET ROLE;
RETURN;
end if;
>>>>ERROR OCURS AT THE NEXT LINE <<<<<<
SET SESSION ROLE wishedrole;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general