Re: [GENERAL] Change location of function/type installed from C-extension - Mailing list pgsql-general

From Tom Lane
Subject Re: [GENERAL] Change location of function/type installed from C-extension
Date
Msg-id 21401.1503761098@sss.pgh.pa.us
Whole thread Raw
In response to Re: [GENERAL] Change location of function/type installed from C-extension  (Dmitry Lazurkin <dilaz03@gmail.com>)
Responses Re: [GENERAL] Change location of function/type installed fromC-extension  (Dmitry Lazurkin <dilaz03@gmail.com>)
List pgsql-general
Dmitry Lazurkin <dilaz03@gmail.com> writes:
> select relname, relfilenode from pg_class where relfilenode = 11829;
>  relname | relfilenode
> ---------+-------------
> (0 rows)

> Hmmm. Where is table with filenode 11829?

pg_class.relfilenode doesn't contain useful data for pg_proc and some other
critical system catalogs:

regression=# select relname, relfilenode from pg_class where relname like 'pg_proc%';
            relname             | relfilenode
--------------------------------+-------------
 pg_proc_oid_index              |           0
 pg_proc                        |           0
 pg_proc_proname_args_nsp_index |           0
(3 rows)

You need to use pg_relation_filenode():

regression=# select relname, pg_relation_filenode(oid) from pg_class where relname like 'pg_proc%';
            relname             | pg_relation_filenode
--------------------------------+----------------------
 pg_proc_oid_index              |                12662
 pg_proc                        |                12657
 pg_proc_proname_args_nsp_index |                12663
(3 rows)

            regards, tom lane


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: [GENERAL] Retrieving query results
Next
From: Dmitry Lazurkin
Date:
Subject: Re: [GENERAL] Change location of function/type installed fromC-extension