将 postgres 日志文件的时间戳设置为与本地时区相同

将 postgres 日志文件的时间戳设置为与本地时区相同

我在 postgres.sql 中设置以下参数

log_destination = 'stderr' 
logging_collector = on 
log_directory = '/DGlogs/Postgres_Logs'
log_filename = 'postgresql-%y_%m_%d_%T.log'

假设当前时间戳为 2018 年 4 月 11 日星期三 12:56:23 CDT,生成的日志位于其他时区(请参阅文件 postgresql-18_04_11_17:51:28.log 中的时间戳)。它显示为 17:51,这不是本地时间戳。甚至该文件的内容也与文件名位于不同的时区。

[root@PGSQL Postgres_Logs]# date
Wed Apr 11 12:56:23 CDT 2018

[root@PGSQL Postgres_Logs]#
[root@PGSQL Postgres_Logs]# ls -ltr
total 10172
-rwxrwx--- 1 root     kodiakgroup  790537 Apr  9 18:59 postgresql-18_04_09_21:49:16.log
-rwxrwx--- 1 root     kodiakgroup 6327854 Apr 10 11:20 postgresql-18_04_10_00:00:00.log
-rw------- 1 postgres kodiakgroup 2819464 Apr 10 18:55 postgresql-18_04_10_16:28:41.log
-rw------- 1 postgres kodiakgroup  103011 Apr 10 18:59 postgresql-18_04_10_23:55:29.log
-rw------- 1 postgres kodiakgroup  244131 Apr 11 12:05 postgresql-18_04_11_00:15:56.log
-rw------- 1 postgres kodiakgroup   15335 Apr 11 12:09 postgresql-18_04_11_17:05:56.log
-rw------- 1 postgres kodiakgroup   15954 Apr 11 12:20 postgresql-18_04_11_17:09:14.log
-rw------- 1 postgres kodiakgroup   15835 Apr 11 12:33 postgresql-18_04_11_17:20:05.log
-rw------- 1 postgres kodiakgroup   16092 Apr 11 12:48 postgresql-18_04_11_17:39:16.log
-rw------- 1 postgres kodiakgroup   18018 Apr 11 12:51 postgresql-18_04_11_17:48:28.log
-rw------- 1 postgres kodiakgroup    8233 Apr 11 12:51 postgresql-18_04_11_17:51:28.log

如何将日志文件的时间戳设置为与当地时区相同?

答案1

如何将日志文件的时间戳设置为与当地时区相同?

通过log_timezone在 中设置postgresql.conf。对于基于 Debian 的操作系统,您可以设置:

log_timezone = 'localtime'

(这是因为 debianlocaltime中有一个软链接/usr/share/zoneinfo)。

在没有此功能的其他系统上,我想您会输入您当地时区的实际名称,例如US/Central

相关内容