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 系统用户可以访问这些文件或对象。

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

权限

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

源代码

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()" 的评论、建议或更正 此处