BUG #5909: Function pg_get_expr throwing error for non superuser

From: "tushar" <tushar(dot)qa(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5909: Function pg_get_expr throwing error for non superuser
Date: 2011-03-03 07:55:27
Message-ID: 201103030755.p237tR08010571@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5909
Logged by: tushar
Email address: tushar(dot)qa(at)gmail(dot)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

Browse pgsql-bugs by date

  From Date Subject
Next Message tushar 2011-03-03 08:59:23 BUG #5910: Function pg_get_expr throwing error for non superuser
Previous Message YAMAMOTO Takashi 2011-03-03 00:14:02 Re: BUG #5906: assertion failure in AtCleanup_Portals