pg_ls_tmpdir()

用于检查表空间临时目录内容的系统函数

pg_ls_tmpdir() 是一个用于检查表空间临时目录内容的系统函数。

pg_ls_tmpdir()PostgreSQL 12 中添加。

用法

pg_ls_tmpdir ( [ tablespace oid ] ) → setof record ( name text, size bigint, modification timestamp with time zone )

pg_ls_tmpdir() 返回一组记录,其中包含表空间临时目录中文件的名称、大小和上次修改时间戳。如果未指定表空间,则默认为pg_default 表空间。

pg_ls_tmpdir() 返回未排序的文件记录,因此通常与ORDER BY 结合使用。

请注意,与pg_ls_dir() 相比,它不返回以点开头的文件名、目录和其他特殊文件。

权限

默认情况下,pg_ls_tmpdir() 仅限超级用户和pg_monitor 默认角色的成员使用,但可以授予其他用户EXECUTE 权限以运行此函数。

源代码

pg_ls_tmpdir()src/backend/utils/adt/genfile.c 中实现。

更改历史记录

示例

显示当前位于默认表空间临时目录中的文件

postgres=# SELECT * FROM pg_ls_tmpdir() ORDER BY modification;
        name        |    size    |      modification      
--------------------+------------+------------------------
 pgsql_tmp3567578.0 | 1073741824 | 2020-12-24 11:09:57+01
 pgsql_tmp3567578.1 | 1073741824 | 2020-12-24 11:10:01+01
 pgsql_tmp3567578.2 | 1073741824 | 2020-12-24 11:10:05+01
 pgsql_tmp3567578.3 | 1073741824 | 2020-12-24 11:10:09+01
 pgsql_tmp3567578.4 | 1073741824 | 2020-12-24 11:10:13+01
 pgsql_tmp3567578.5 |  716013568 | 2020-12-24 11:10:16+01
(6 rows)

显示当前位于指定表空间临时目录中的文件

postgres=# SELECT * FROM pg_ls_tmpdir((SELECT oid FROM pg_tablespace WHERE spcname='tblspc_1')) ORDER BY modification;
        name         |    size    |      modification      
---------------------+------------+------------------------
 pgsql_tmp3568453.0  | 1073741824 | 2020-12-24 11:16:54+01
 pgsql_tmp3568453.1  | 1073741824 | 2020-12-24 11:16:57+01
 pgsql_tmp3568453.2  | 1073741824 | 2020-12-24 11:17:01+01
 pgsql_tmp3568453.3  | 1073741824 | 2020-12-24 11:17:05+01
 pgsql_tmp3568453.4  | 1073741824 | 2020-12-24 11:17:09+01
 pgsql_tmp3568453.5  | 1073741824 | 2020-12-24 11:17:13+01
 pgsql_tmp3568453.6  | 1073741824 | 2020-12-24 11:17:17+01
 pgsql_tmp3568453.7  |   69771264 | 2020-12-24 11:17:21+01
(17 rows)

分类

数据目录文件访问和操作系统函数表空间

另请参阅

pg_ls_dir()pg_ls_logdir()pg_ls_waldir()pg_ls_archive_statusdir()temp_tablespaces

反馈

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