pg_stat_file()

一个返回文件元数据的系统函数

pg_stat_file() 是一个系统函数,它返回关于本地文件系统中一个文件或其他对象的元数据。

pg_stat_file()PostgreSQL 8.1 中被添加。

用法

pg_stat_file ( filename text [, missing_ok boolean ] )
        → record ( size bigint, access timestamptz, modification timestamptz, change timestamptz, creation timestamptz, isdir boolean )

pg_stat_file() 返回一行,其中包含关于本地文件系统中,postgres 系统用户可以访问的文件或其他对象的元数据。

它指示文件系统对象是否是一个目录,但不指示对象是否是符号链接(symlink)。

权限

默认情况下,pg_stat_file() 仅限于超级用户使用,但其他用户可以被授予 EXECUTE 权限来运行此函数。

Source

pg_stat_file() 实现于 src/backend/utils/adt/genfile.c

变更历史

示例

基本执行 pg_stat_file()

postgres=# SELECT * FROM pg_stat_file(current_setting('data_directory') || '/global/pg_control');
 size |         access         |      modification      |         change         | creation | isdir 
------+------------------------+------------------------+------------------------+----------+-------
 8192 | 2020-12-24 11:13:59+01 | 2020-12-24 12:04:32+01 | 2020-12-24 12:04:32+01 |          | f
(1 row)

尝试查询一个不存在的文件

postgres=# SELECT * FROM pg_stat_file('/foo/bar.txt');
ERROR:  could not stat file "/foo/bar.txt": No such file or directory

尝试查询一个权限不可用的文件

postgres=# SELECT * FROM pg_stat_file('/root/bar.txt');
ERROR:  could not stat file "/root/bar.txt": Permission denied

分类

文件访问和操作, 系统函数

另请参阅

pg_read_binary_file(), pg_read_file()

反馈

就“pg_stat_file()”提交任何评论、建议或更正,请点击此处