Kevin,
I know public is there from using it every day, but if it were not for you post 
I would not know how to prove it, none of the views, graphical admin tools etc. 
display it as a user. 

We found this issue because we can grant privs to public on a table, but could 
not revoke them. If I did not "know" that public was there ( because in my 
experience it is there in oracle, sql server and the Informix dbs) how would I 
check for it's existence on Postgres?

Thank you,
Kasia

-----Original Message-----
From: Kevin Grittner [mailto:[email protected]] 
Sent: Tuesday, August 10, 2010 12:41 PM
To: Kasia Tuszynska; Szymon Guz
Cc: [email protected]
Subject: Re: [ADMIN] postgres function does not handle PUBLIC - expected?

Szymon Guz <[email protected]> wrote:
 
> No, there is no PUBLIC default role in ANY rdbms. In PostgreSQL
> there is PUBLIC schema, not role. In my PostgreSQL database there
> wasn't any such role... but I'll check that now... ok, I've
> checked, I've got 15 roles, none is names PUBLIC, what's more, I
> don't have any roles that cannot login.
> 
> run simple query: SELECT rolname FROM pg_roles; and check the
> existence of the PUBLIC role.
 
Yeah, it's automatically there in a shadowy sort of way.  Try this,
for example, in your cluster with no PUBLIC role:
 
test=# revoke create on database test from public;
REVOKE
test=# grant select on pg_class to public;
GRANT
 
-Kevin


-- 
Sent via pgsql-admin mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

Reply via email to