permission denied for schema - Mailing list pgsql-general

From AC Gomez
Subject permission denied for schema
Date
Msg-id CABtmK-h7pVkTko3ay17K-TDDq-tu+ojo1prLYkvsWgGPt5zi9g@mail.gmail.com
Whole thread Raw
Responses Re: permission denied for schema
List pgsql-general
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

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

pgsql-general by date:

Previous
From: Nicola Contu
Date:
Subject:
Next
From: Stephen Frost
Date:
Subject: Re: Index selection issues with RLS using expressions