Kasia Tuszynska wrote:
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
Kasia,
I think your assumption is wrong. I've been using postgres for a lot of years and never saw a PUBLIC role created
by default in all the installations I've ever done. It's certainly possible that various other RDBMSs may assume the
existence of such a role/user, but my experience is that the only default role in "our world" is named postgres.
So I think this does have everything to do with your issue. Why don't you give it a shot and try to create a user
named PUBLIC?
good luck,
~c
*From:* Szymon Guz [mailto:mabewlun@xxxxxxxxx]
*Sent:* Tuesday, August 10, 2010 12:11 PM
*To:* Kasia Tuszynska
*Cc:* pgsql-admin@xxxxxxxxxxxxxx
*Subject:* Re: postgres function does not handle PUBLIC - expected?
2010/8/10 Kasia Tuszynska <ktuszynska@xxxxxxxx <mailto:ktuszynska@xxxxxxxx>>
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
--
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin