pg_rotate_logfile()

一个用于轮转当前日志文件的系统函数

pg_rotate_logfile() 是一个用于轮转当前日志文件的系统函数

pg_rotate_logfile()PostgreSQL 8.1 中被添加。

用法

pg_rotate_logfile() → boolean

要使 pg_rotate_logfile() 函数生效,必须将 logging_collector 设置为 on

执行时,pg_rotate_logfile() 将根据 log_filename 中定义的命名模式创建一个新的日志文件。

请注意,如果 log_filename 的设置导致新文件名与当前文件名相同,则不会发生日志文件轮转。例如,如果 log_filename 被设置为 e.g. postgres.logpostgresql-%F.log%F 解析为当前日期),则不会发生轮转。

变更历史

示例

pg_rotate_logfile() 的基本执行

postgres=# SELECT pg_current_logfile();
               pg_current_logfile
-------------------------------------------------
 /var/log/pgsql/postgresql-2020-11-24_000000.log
(1 row)

postgres=# SELECT pg_rotate_logfile();
 pg_rotate_logfile
-------------------
 t
(1 row)

postgres=# SELECT pg_current_logfile();
               pg_current_logfile
-------------------------------------------------
 /var/log/pgsql/postgresql-2020-11-24_063301.log
(1 row)

执行 pg_rotate_logfile() 但没有效果

postgres=# SHOW log_filename;
   log_filename
-------------------
 postgresql-%F.log
(1 row)

postgres=# SELECT pg_current_logfile();
           pg_current_logfile
------------------------------------------
 /var/log/pgsql/postgresql-2020-11-24.log
(1 row)

postgres=# SELECT pg_rotate_logfile();
 pg_rotate_logfile
-------------------
 t
(1 row)

postgres=# SELECT pg_current_logfile();
           pg_current_logfile
------------------------------------------
 /var/log/pgsql/postgresql-2020-11-24.log
(1 row)

执行 pg_rotate_logfile()logging_collector 被设置为 off(禁用)

WARNING:  rotation not possible because log collection not active
 pg_rotate_logfile 
-------------------
 f
(1 row)

分类

日志记录, 系统函数

另请参阅

pg_current_logfile(), log_directory, log_destination

反馈

在此处提交关于“pg_rotate_logfile()”的任何评论、建议或更正。 这里