"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