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');

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

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

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

请参阅 filenode 获取更多示例。

分类

数据目录系统函数

另请参见

文件节点pg_filenode_relation()pg_relation_filepath()

反馈

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