Re: Ability to create tables

Ron Johnson <ron.l.johnson@cox.net>

From: Ron Johnson <ron.l.johnson@cox.net>
To: pgsql-general@lists.postgresql.org
Date: 2018-03-10T00:10:47Z
Lists: pgsql-general
On 03/09/2018 05:46 PM, Tom Lane wrote:
> Ron Johnson <ron.l.johnson@cox.net> writes:
>> Even though I revoked the  CREATE priv on role ABCREADONLY, it's still able
>> to create tables.  What can I do to prevent this?
>> $ psql -c 'revoke create on database "ABC123" from "ABCREADONLY";'
> That revokes the ability to create new schemas within that database
> (which I suspect the role did not have anyway).  What you need is
> to remove its ability to create objects within the public schema
> within that database.  By default, that ability is granted to PUBLIC,
> so that "revoke create on schema public from "ABCREADONLY";" won't
> help either.  What you have to do is "revoke create on schema public
> from public", and then grant it back to just the roles that should have
> it.
>
> If you don't want the role creating temp tables either, you need to
> revoke its TEMP right on the database (which *is* a database-level
> privilege).  Again, this'll involve disallowing that to PUBLIC,
> since that default grant is how it's getting the privilege.

Thanks.


-- 
Angular momentum makes the world go 'round.