Re: How to add a new pg oid? - Mailing list pgsql-hackers

From jacktby jacktby
Subject Re: How to add a new pg oid?
Date
Msg-id 0839D0D4-F011-45A0-B8DB-A7C4370AB2F4@gmail.com
Whole thread Raw
In response to Re: How to add a new pg oid?  (jacktby jacktby <jacktby@gmail.com>)
Responses Re: How to add a new pg oid?
List pgsql-hackers


2023年9月6日 18:19,jacktby jacktby <jacktby@gmail.com> 写道:



2023年9月6日 01:47,David G. Johnston <david.g.johnston@gmail.com> 写道:

OIDs don't exist independently of the data they are associated with.  Give more context if you want a better answer.  Or just go look at the source code commits for when the last time something needing an OID got added to the core catalog.

David J.
 
{ oid => '111', array_type_oid => '6099', descr => 'similarity columns',
  typname => 'similarity_columns', typlen => '-1', typlen => '-1', typbyval => 'f', typcategory => 'U',
  typinput => 'byteain', typoutput => 'byteaout', typreceive => 'bytearecv',
  typsend => 'byteasend', typalign => 'i', typstorage => 'x' },

I add above into pg_type.dat. And then I add execute “make install” and restart pg. And Then do below:
postgres=# SELECT typname from pg_type where typname like '%similarity%';
 typname 
---------
(0 rows)

I can’t get the type I added. What else I need to do?
I add below in bootstrap.c:
static const struct typinfo TypInfo[] = {
{"similarity_columns", SimilarityColumns, 0, -1, false, TYPALIGN_INT, TYPSTORAGE_EXTENDED, InvalidOid,
F_BYTEAIN, F_BYTEAOUT},
….
}
And then “make install” and restart pg.but still:
postgres=# SELECT typname from pg_type where typname like '%similarity%';
 typname 
---------
(0 rows)

Please give me help.

pgsql-hackers by date:

Previous
From: Yura Sokolov
Date:
Subject: Re: Vectorization of some functions and improving pg_list interface
Next
From: Ranier Vilela
Date:
Subject: Re: Avoid a possible null pointer (src/backend/utils/adt/pg_locale.c)