pg_rotate_logfile()

用于轮换当前日志文件的系统函数

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

pg_rotate_logfile() 添加于 PostgreSQL 8.1

用法

pg_rotate_logfile() → boolean

logging_collector 必须设置为 onpg_rotate_logfile() 才能发挥作用。

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

请注意,如果 log_filename 的定义方式导致新文件名与当前文件名相同,则不会进行日志文件轮换。例如,如果 log_filename 设置为例如 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)

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

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

分类

日志记录系统函数

另请参阅

pg_current_logfile()log_directorylog_destination

反馈

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