=?iso-8859-1?Q?Fran=E7ois_Beausoleil?= <francois@teksol.info> writes:
> regress=# ALTER DEFAULT PRIVILEGES FOR ROLE dataanalysts IN SCHEMA public REVOKE SELECT ON TABLES FROM dataanalysts;
> ERROR: permission denied for schema public
> I'm logged in as postgres, the database superuser. Why am I getting a permission denied?
I suspect you already revoked public CREATE privilege in schema public.
Note where the fine manual says:
schema_name
The name of an existing schema. Each target_role must have CREATE privileges for each specified schema.
There was some debate previously about whether that restriction was a
good idea at all; and given this example, it seems like we definitely
shouldn't require it during a REVOKE.
regards, tom lane