The following bug has been logged online: Bug reference: 5909 Logged by: tushar Email address: tushar...@gmail.com PostgreSQL version: 9.0.2 Operating system: RHEL-5 32 bit Description: Function pg_get_expr throwing error for non superuser Details:
Pls refer this below scenario PG 8.4.4:- ========= connect to non superuser :- postgres=# \c - t psql (8.4.4) You are now connected to database "postgres" as user "t". postgres=> select pg_get_expr('a',null); pg_get_expr ------------- (1 row) postgres=> PG 9.0.2 ========= connect to non superuser :- postgres=# \c - t You are now connected to database "postgres" as user "t". postgres=> select pg_get_expr('a',null); ERROR: argument to pg_get_expr() must come from system catalogs postgres=> Workaround:- if user is superuser then it is working fine.. I found a thread somewhat related to this above issue :- http://archives.postgresql.org/pgsql-hackers/2010-07/msg00503.php which look fixed now in PG 9.0.2 e.g:- postgres=> 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 limit 0; pg_get_expr ------------- (0 rows) postgres=> so i feel this query :-select pg_get_expr('a',null); should also work in PG 9.0.2 but it is not working. is this an expected behavior -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs