pg_relation_filenode()

用于获取关系(relation)的 filenode 号的函数

pg_relation_filenode() 是一个系统函数,用于获取具有指定 OID 或名称的关系(relation)的 filenode 号。

pg_relation_filenode() 添加于 PostgreSQL 9.0

用法

pg_relation_filenode ( relation regclass ) → oid

返回的 oid 对应于 pg_classrelfilenode 字段的值,但对于某些 系统目录表,该值为 0。因此,必须使用此函数来可靠地确定关系的 filenode。

如果该关系是视图(view)这类没有磁盘存储的类型,则返回 NULL

变更历史

示例

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

尝试查询不存在的关系的 filenode

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

尝试查询不存储数据的关系(relation)的 filenode

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

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

有关更多示例,请参阅 filenode

分类

数据目录, 系统函数

另请参阅

filenode, pg_filenode_relation(), pg_relation_filepath()

反馈

如果您对“pg_relation_filenode()”有任何评论、建议或更正,请在此处 提交