Re: postgres function does not handle PUBLIC - expected?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux