我在分析PostgreSQL中的数据包。在结果包中,表OID通常高于'0x6000'(例如,0x6026)另一方面,在已知类型(int,varchar,byte等)的列OID通常低于0x6000。
但是typd OID的composite_type(用户定义的列类型)表示超过0x6000(例如,0x6024),我猜'0x6000'将是用户定义的列和系统定义的(已知)之间的边界
0x6000是什么意思composite_type是起始值吗?或者'0x6024'是复合类型的OID?
在PostgreSQL JDBC中,varchar是1043(0x413),int是21(0x15),但是没有composite_type的信息。
1条答案
按热度按时间3zwtqj6y1#
Low Object IDs(OID)在PostgreSQL中有着特殊的含义,但其边界与您想象的不同。0x6000在PostgreSQL中没有特殊的含义。
引用
src/include/access/transam.h
的相关部分可以最好地解释这一点:所以:
public
架构和数据库除外)另请参阅有关该主题的文档。