Re: How to add a new pg oid?

From: jacktby jacktby <jacktby(at)gmail(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: How to add a new pg oid?
Date: 2023-09-06 10:50:54
Message-ID: 0839D0D4-F011-45A0-B8DB-A7C4370AB2F4@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> 2023年9月6日 18:19,jacktby jacktby <jacktby(at)gmail(dot)com> 写道:
>
>
>
>> 2023年9月6日 01:47,David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)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.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ranier Vilela 2023-09-06 10:57:03 Re: Avoid a possible null pointer (src/backend/utils/adt/pg_locale.c)
Previous Message Yura Sokolov 2023-09-06 10:40:44 Re: Vectorization of some functions and improving pg_list interface