是否有标准的方法来确定哪个是正在运行的Postgres实例的最新日志文件?
遗憾的是,pg_config甚至没有提供有关日志目录的信息。
答案 0 :(得分:3)
日志位于数据目录的目录pg_log中。您可以要求数据库为您提供此信息:
SELECT
pg_ls_dir AS filename,
pg_size_pretty((pg_stat_file('pg_log/' || pg_ls_dir)).size),
(pg_stat_file('pg_log/' || pg_ls_dir)).access,
(pg_stat_file('pg_log/' || pg_ls_dir)).modification,
(pg_stat_file('pg_log/' || pg_ls_dir)).creation -- Windows only
FROM
pg_ls_dir('pg_log')
WHERE
(pg_stat_file('pg_log/' || pg_ls_dir)).isdir = false
ORDER BY
modification DESC
LIMIT 1;
如果要阅读日志文件的内容,可以使用pg_read_file()。
您必须超级用户才能获取相关信息。