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.