I understand public
is not a typical role in postgres:
dav-gis=# \duS public
List of roles
Role name | Attributes | Member of
-----------+------------+-----------
But why can I revoke all privileges on a schema from public
, but not assign another role to public
? E.g.,
db=# REVOKE ALL PRIVILEGES ON SCHEMA "eia" FROM "public";
REVOKE
db=# GRANT "eia-ro" TO "public";
ERROR: role "public" does not exist
I'd like to only give public users read access through the read-only role, but perhaps this is just out of sync with how public access works in Postgres.