pg_ls_summariesdir() 是一个系统函数,返回有关 WAL 摘要目录中文件的信息。
pg_ls_summariesdir() 在 PostgreSQL 18 中添加。
用法
pg_ls_summariesdir () → setof record (nametext,sizebigint,modificationtimestamp with time zone)
pg_ls_summariesdir() 列出 pg_wal/summaries 目录的内容,排除以点开头的文件名、目录和其他特殊文件。请注意,只有在 summarize_wal 设置为 on 时,才会生成 WAL 摘要文件。
默认情况下,pg_ls_summariesdir() 只能由超级用户和 预定义角色 pg_maintain 的成员执行。可以向其他用户授予 EXECUTE 权限。
变更历史
- PostgreSQL 18
- 添加(提交 4e1fad37)
示例
pg_ls_summariesdir() 的基本用法示例
postgres=# SELECT * FROM pg_ls_summariesdir();
name | size | modification
--------------------------------------------------+------+------------------------
0000000100000000014F16F80000000002000028.summary | 578 | 2024-10-12 09:13:52+09
0000000100000000014F134800000000014F1680.summary | 88 | 2024-10-12 09:13:52+09
0000000100000000010B2FC800000000014EA760.summary | 4942 | 2024-10-12 09:13:52+09
00000001000000000100002800000000010B2FC8.summary | 4808 | 2024-10-12 09:13:52+09
0000000100000000014F168000000000014F16F8.summary | 32 | 2024-10-12 09:13:52+09
0000000100000000014F124800000000014F1348.summary | 56 | 2024-10-12 09:13:52+09
0000000100000000014EA86000000000014F1248.summary | 230 | 2024-10-12 09:13:52+09
0000000100000000014EA76000000000014EA860.summary | 56 | 2024-10-12 09:13:52+09
(8 rows)
如果 summarize_wal 被禁用,则返回空结果集
postgres=# SHOW summarize_wal; summarize_wal --------------- off (1 row) postgres=# SELECT * FROM pg_ls_summariesdir(); name | size | modification ------+------+-------------- (0 rows)
参考资料
- PostgreSQL 文档: 通用文件访问函数
另请参阅
pg_available_wal_summaries()|], pg_wal_summary_contents()
