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

Reply via email to