BUG #2850: Cannot select from information_schema.schemat
The following bug has been logged online:
Bug reference: 2850
Logged by: Tony Marston
Email address: tony@marston-home.demon.co.uk
PostgreSQL version: 8.2
Operating system: Windows XP
Description: Cannot select from information_schema.schemat
Details:
If I am logged on as a user other than 'postgres' and I try the query
SELECT * FROM information_schema.schemata
I get no results. Yet if I try the equivalent query
SELECT * FROM pg_namespace
I can see all the available schema names.
Why is there a difference when the two queries are supposed to provide the
same results?
"Tony Marston" <tony@marston-home.demon.co.uk> writes:
If I am logged on as a user other than 'postgres' and I try the query
SELECT * FROM information_schema.schemata
I get no results. Yet if I try the equivalent query
SELECT * FROM pg_namespace
I can see all the available schema names.
Why is there a difference when the two queries are supposed to provide the
same results?
They're not "supposed to provide the same results". Per SQL99, the
schemata view is supposed to
Identify the schemata in a catalog that are owned by a given user.
and the SQL definition in the spec makes it clear that it only shows
schemas owned by CURRENT_USER or a role that CURRENT_USER is a member
of.
regards, tom lane
--On Donnerstag, Dezember 21, 2006 15:47:40 +0000 Tony Marston
<tony@marston-home.demon.co.uk> wrote:
The fact that the SQL standard says that the schemata view is supposed to
"Identify the schemata in a catalog that are owned by a given user" does
not automatically mean that the information can *ONLY* be accessed by the
owner. Any user should be able to see the schema to which they have
access, owner or not.
The standard doesn't specify any given user, it specifies CURRENT_USER. Only
if CURRENT_USER is the owner of a schema (or CURRENT_USER inherits
ownership by membership) you are able (and allowed) to see the schema. While
I admit that this makes it hard to identify catalog schemata by an DBA via
the information_schema, the standard is quite clear here. I don't see any
ambiguity here....
If you need to go beyond what the standard allows, you have to use the
system
catalog.
--
Thanks
Bernd
Import Notes
Reply to msg id not found: 000101c72517$5c2f7cc0$4101a8c0@ajmnotebookReference msg id not found: 000101c72517$5c2f7cc0$4101a8c0@ajmnotebook | Resolved by subject fallback