pg_relation_filenode()

获取关系的文件节点号的函数

pg_relation_filenode() 是一个系统函数,用于获取指定 OID 或名称的关系的 文件节点 号。

pg_relation_filenode()PostgreSQL 9.0 中添加。

用法

pg_relation_filenode ( relation regclass ) → oid

返回的 oid 对应于 pg_classrelfilenode 中包含的值,但某些 系统目录 表除外,这些表的值为 0。因此,必须使用此函数来可靠地确定关系的文件节点。

如果关系是诸如视图之类的类型,并且没有磁盘存储,则返回 NULL

更改历史记录

示例

postgres=# SELECT pg_relation_filenode('foo');
 pg_relation_filenode 
----------------------
                16499
(1 row)

尝试查询不存在的关系的关系文件节点

postgres=# SELECT pg_relation_filenode('bar');
ERROR:  relation "bar" does not exist
LINE 1: SELECT pg_relation_filenode('bar');

尝试查询不存储数据的关联关系的文件节点

postgres=# CREATE VIEW bar AS SELECT * FROM foo;
CREATE VIEW

postgres=# SELECT pg_relation_filenode('bar') IS NULL;
 ?column? 
----------
 t
(1 row)

有关更多示例,请参见 文件节点

分类

数据目录系统函数

另请参阅

文件节点pg_filenode_relation()pg_relation_filepath()

反馈

提交任何关于 "pg_relation_filenode()" 的评论、建议或更正 此处