Thread: is prefix pg_ reservated ?

is prefix pg_ reservated ?

From
Pavel Stehule
Date:
Hello all

I found strange behave of postgresql. I would to use name
pg_stat_get_some for custom function. Probably it is not smart from
me, because I found so functions that has prefix pg are not searched
via search_path.

postgres=# select public.pg_stat_get_creation_time('xxx'::regclass);  pg_stat_get_creation_time
-------------------------------2012-08-07 12:43:25.592137+02
(1 row)

postgres=# select pg_stat_get_creation_time('xxx'::regclass);
ERROR:  internal function "pg_stat_get_creation_time" is not in
internal lookup table

It is expected and desired behave?

Regards

Pavel Stehule


Re: is prefix pg_ reservated ?

From
Robert Haas
Date:
On Tue, Aug 7, 2012 at 7:16 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> Hello all
>
> I found strange behave of postgresql. I would to use name
> pg_stat_get_some for custom function. Probably it is not smart from
> me, because I found so functions that has prefix pg are not searched
> via search_path.
>
> postgres=# select public.pg_stat_get_creation_time('xxx'::regclass);
>    pg_stat_get_creation_time
> -------------------------------
>  2012-08-07 12:43:25.592137+02
> (1 row)
>
> postgres=# select pg_stat_get_creation_time('xxx'::regclass);
> ERROR:  internal function "pg_stat_get_creation_time" is not in
> internal lookup table
>
> It is expected and desired behave?

That error message has nothing to do with a pg_ prefix, as you would
find out yourself if you grepped for it.  It means you created the
functional using language "internal", when you probably should have
used "c".

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company