From: charlie derr <cderr@simons-rock.edu>
To: Kasia Tuszynska <ktuszynska@esri.com>
Cc: pgsql-admin@postgresql.org <pgsql-admin@postgresql.org>
Subject: Re: postgres function does not handle PUBLIC - expected?
Date: Tue, 10 Aug 2010 15:37:27 -0400
Message-ID: <4C61AA77.1040606@simons-rock.edu> (raw)
In-Reply-To: <26083_1281468417_4C61A800_26083_177_1_232B5217AD58584C87019E8933556D110211D1AEDA@redmx2.esri.com>
References: <232B5217AD58584C87019E8933556D110211D1AE9F@redmx2.esri.com>
<AANLkTi=oeOFdmMsr515Npgk_qupNX2BdUY60UyOg7O+8@mail.gmail.com>
<26083_1281468417_4C61A800_26083_177_1_232B5217AD58584C87019E8933556D110211D1AEDA@redmx2.esri.com>
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@gmail.com]
> *Sent:* Tuesday, August 10, 2010 12:11 PM
> *To:* Kasia Tuszynska
> *Cc:* pgsql-admin@postgresql.org
> *Subject:* Re: [ADMIN] postgres function does not handle PUBLIC - expected?
>
>
>
> 2010/8/10 Kasia Tuszynska <ktuszynska@esri.com <mailto:ktuszynska@esri.com>>
>
> 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
>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: cderr@simons-rock.edu, ktuszynska@esri.com
Subject: Re: postgres function does not handle PUBLIC - expected?
In-Reply-To: <4C61AA77.1040606@simons-rock.edu>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox