一个 对象标识符类型
(也称为 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() |
更改历史记录
- PostgreSQL 13
regcollation
已添加(提交 a2b1faa0)
- PostgreSQL 9.5
- PostgreSQL 8.3
- PostgreSQL 7.3
参考文献
- PostgreSQL 文档: 对象标识符类型