I posted this in Devshed forums (
here) but no one seems to be responding. Hopefully someone here can help.
How do I keep a user from being able to create tables in the public schema?
I have tried REVOKE CREATE FROM username ON SCHEMA PUBLIC but they can still create tables.
The user has no special attributes and is not a member of another role.
mjacobson@zeus=>[local]:ises=> \dn+ public
Name | Owner | Access privileges | Description
--------+----------+----------------------+------------------------
public | postgres | postgres=UC/postgres+| standard public schema
mjacobson@zeus=>[local]:ises=> select current_user;
mjacobson@zeus=>[local]:ises=> \du+ mjacobson
Role name | Attributes | Member of | Description
-----------+------------+-----------+-------------
mjacobson@zeus=>[local]:ises=> create table tb_foo(i int);
mjacobson@zeus=>[local]:ises=> drop table tb_foo;
--
Moshe Jacobson
Nead Werx, Inc. | Senior Systems Engineer