对象标识符类型

一种充当系统目录表条目 OID 别名的特殊数据类型

一个 对象标识符类型(也称为 OID 别名类型)是一种特殊数据类型,充当各种OID的别名系统目录表条目,并使通过该行中引用的对象的名称而不是数字 OID 来引用此类表中的行成为可能。这大大简化了许多涉及常见系统目录查找的操作,并消除了显式连接系统目录表的需要。

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

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

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

可用的对象标识符类型

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

  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                                             n/a
regdictionary                                             n/a
regnamespace                                             to_regnamespace()
regoper                                             to_regoper()
regoperator                                             to_regoperator()
regproc                                             to_regproc()
regprocedure                                             to_regprocedure()
regrole                                             to_regrole()
regtype                                             to_regtype()

更改历史记录

类别

数据类型系统目录

另请参阅

OID

反馈

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