pg_current_logfile()

一个用于显示当前正在使用的日志文件位置的系统函数

pg_current_logfile() 是一个系统函数,它将返回当前正在使用的日志文件的路径。

pg_current_logfile()PostgreSQL 10 中被添加。

用法

pg_current_logfile ( [ text ] ) → text

pg_current_logfile(),当不带参数调用时,将按以下优先级顺序返回以下之一:

  • 当前 stderr 日志输出被定向到的日志文件路径
  • 当前 csvlog 日志输出被定向到的日志文件路径
  • NULL

要返回这两种日志类型之一的日志文件路径,请将 'stderr''csvlog' 作为函数参数值传递。有关示例,请参见下文。

pg_current_logfile() 只能由超级用户、预定义角色 pg_monitorPostgreSQL 17 及更高版本)的成员,或者被授予该函数执行权限的用户执行,例如使用:

GRANT EXECUTE ON FUNCTION pg_catalog.pg_current_logfile() TO someuser
GRANT EXECUTE ON FUNCTION pg_catalog.pg_current_logfile(text) TO someuser

实现

pg_current_logfile() 是一个辅助函数,它报告位于数据目录最顶层文件 current_logfiles 的内容。

变更历史

示例

pg_current_logfile() 的基本执行示例

postgres=# SHOW log_destination;
 log_destination 
-----------------
 stderr,csvlog
(1 row)

postgres=# SELECT * FROM pg_current_logfile();
      pg_current_logfile
------------------------------
 /var/log/pgsql/postgresql.log
(1 row)

postgres=# SELECT * FROM pg_current_logfile('csvlog');
      pg_current_logfile
------------------------------
 /var/log/pgsql/postgresql.csv
(1 row)

使用无效参数执行 pg_current_logfile()

postgres=# SELECT * FROM pg_current_logfile('foo');
ERROR:  log format "foo" is not supported
HINT:  The supported log formats are "stderr" and "csvlog".

分类

Logging, System function

另请参阅

log_directory, log_destination, pg_rotate_logfile(), pg_ls_logdir()

反馈

提交有关“pg_current_logfile()”的任何评论、建议或更正 在此处