ERROR: argument to pg_get_expr() must come from system catalogs

Dave Page <dpage@pgadmin.org>

From: Dave Page <dpage@pgadmin.org>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-07-13T15:31:56Z
Lists: pgsql-hackers
We had a report of the above error from a pgAdmin user testing
1.12.0b3 with PG 9.0b3. The (highly simplified) query below works fine
as a superuser:

SELECT pg_get_expr(proargdefaults, 'pg_catalog.pg_class'::regclass)
  FROM pg_proc pr
  LEFT OUTER JOIN pg_description des ON des.objoid=pr.oid

Run as a regular user though, we get the error. If I remove the join,
it works fine as the normal user. This is in a database owned by the
regular user.

Am I missing something obvious, or is there a bug here? pg_get_expr is
used pretty extensively in pgAdmin, so we're obviously keen to ensure
it works :-)

-- 
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company