Unexpected error in grant/revoke script
От | Webb Sprague |
---|---|
Тема | Unexpected error in grant/revoke script |
Дата | |
Msg-id | b11ea23c0803141000i15f497edj53c950f81fd2fc9f@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Unexpected error in grant/revoke script
Re: Unexpected error in grant/revoke script |
Список | pgsql-general |
Hi all, I have the following function: create function new_student (text) returns text as $$ declare wtf integer := 1; begin execute 'create schema ' || $1; execute 'create role ' || $1 || 'LOGIN'; execute 'revoke all on schema public from ' || $1; execute 'grant select on schema public to ' || $1; execute 'grant all on schema ' || $1 || ' to ' || $1 || ' with grant option'; return $1; end; $$ language plpgsql ; When I run this with select new_student('foobar'), I get the following error message oregon=# \i new_student.sql CREATE FUNCTION oregon=# select new_student('foobar'); ERROR: role "foobar" does not exist CONTEXT: SQL statement "revoke all on schema public from foobar" PL/pgSQL function "new_student" line 6 at EXECUTE statement However, I can run the following from the command line just fine: # create role foobar login; # revoke all on schema public from foobar; Can anyone explain and help me fix? TIA.
В списке pgsql-general по дате отправления: