Re: permission denied for schema
От | Adrian Klaver |
---|---|
Тема | Re: permission denied for schema |
Дата | |
Msg-id | 552dd5ec-d865-c99c-80c4-97098d23c982@aklaver.com обсуждение исходный текст |
Ответ на | permission denied for schema (AC Gomez <antklc@gmail.com>) |
Список | pgsql-general |
On 4/1/20 6:35 AM, AC Gomez wrote: > I'm trying to write a function that eventually will rotate users. > Currently I have the code below which works and creates a new user using > the prior user which ultimately has the same rights as the master user, > ie, can do everything. > > select mysch.dblink('dbname=mydb user=themasteruser password=abc123 > connect_timeout=200000 host=localhost', 'CREATE USER newuname WITH > PASSWORD ''pass1'' CREATEDB CREATEROLE;GRANT rds_superuser TO newuname;'); > > > DROP SERVER IF EXISTS fs_link_b CASCADE; > CREATE SERVER fs_link_b FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host > 'localhost', port '5432', dbname 'mydb ', connect_timeout '200000'); > CREATE USER MAPPING FOR newuname SERVER fs_link_b OPTIONS ("user" > 'newuname',password 'pass1'); > ALTER SERVER fs_link_b OWNER TO newuname; > > However, when I make a connection with the above created user and I try > to run the query below: > > select * from mysch.dblink('link_b', 'select usename from PG_USER limit > 1;') as t(uu text); > > I get this error: > > > SQL Error [42501]: ERROR: permission denied for schema mysch Looks to me the issue is that whatever user is running: select * from mysch.dblink('link_b', 'select usename from PG_USER limit 1;') as t(uu text); does not have access to objects in schema mysch on the originating server. > > If I created the user based on a master user, then should it not have > all rights as the master user as created above? Or Do I need to do a > bunch of individual GRANTS still? > > Thanks -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: