Szymon, The PUBLIC role is a default, non login role, that is created with every postgres cluster/instance. To my knowledge PUBLIC is a standard user in any rdbms. So, existence of public is not the issue here. Sincerely, Kasia
From: Szymon Guz [mailto:[email protected]] Sent: Tuesday, August 10, 2010 12:11 PM To: Kasia Tuszynska Cc: [email protected] Subject: Re: [ADMIN] postgres function does not handle PUBLIC - expected? 2010/8/10 Kasia Tuszynska <[email protected]<mailto:[email protected]>> Hello Postgres Gurus, Is it expected behavior for the has_table_privilege postgres function to not handle the user PUBLIC? Or should I submit a bug? The has_table_privilege function does not handle PUBLIC – the following queries returns the error: SELECT has_table_privilege ('PUBLIC','bob.gdb.test1','SELECT') AS SELECT, has_table_privilege ('PUBLIC','bob.gdb.test1','INSERT') AS INSERT, has_table_privilege ('PUBLIC','bob.gdb.test1','DELETE') AS DELETE, has_table_privilege ('PUBLIC','bob.gdb.test1','UPDATE') AS UPDATE; ERROR: role "PUBLIC" does not exist SQL state: 42704 SELECT has_table_privilege ('public','bob.gdb.test1','SELECT') AS SELECT, has_table_privilege ('public','bob.gdb.test1','INSERT') AS INSERT, has_table_privilege ('public','bob.gdb.test1','DELETE') AS DELETE, has_table_privilege ('public','bob.gdb.test1','UPDATE') AS UPDATE; ERROR: role "public" does not exist SQL state: 42704 Thank you, Sincerley, Kasia Do you have any role that is named PUBLIC? I think that you don't have one. Check e.g. in the table pg_user. regards Szymon
