对象标识符类型

一种特殊的 数据类型,作为系统目录表条目的 OID 的别名

一个 对象标识符类型(也称为 OID 别名类型)是一种特殊的 数据类型,作为各种 系统目录 表条目的 OID 的别名,它使得可以根据该行中引用的对象的名称来引用此类表中的行,而不是使用数字 OID。这极大地简化了涉及常见 系统目录 查找的许多操作,并且无需显式连接系统目录表。

例如,将表行的 tableoid 系统列强制转换为 regclass 将显示该行所属的表的名称

postgres=# SELECT tableoid::regclass, * FROM foo;
 tableoid | id 
----------+----
 foo      |  1
(1 row)

(上面的示例的实际用途有限,但如果在分区表上运行类似的查询,将显示每一行实际所属的表)。

可用的对象标识符类型

截至 PostgreSQL 19,以下对象标识符类型可用

  19 18 17 16 15 14 13 12 11 10 9.6 9.5 9.4 9.3 9.2 9.1 9.0 8.4 8.3 8.2 8.1 8.0 7.4 7.3 7.2 函数
regclass                                                   to_regclass()
regcollation                                                   to_regcollation()
regconfig                                                   不适用
regdatabase                                                   to_regdatabase()
regdictionary                                                   不适用
regnamespace                                                   to_regnamespace()
regoper                                                   to_regoper()
regoperator                                                   to_regoperator()
regproc                                                   to_regproc()
regprocedure                                                   to_regprocedure()
regrole                                                   to_regrole()
regtype                                                   to_regtype()

变更历史

分类

数据类型, 系统目录

另请参阅

OID

反馈

提交任何关于“对象标识符类型”的评论、建议或更正,请在此处 提交.