![将 postgres 日志文件的时间戳设置为与本地时区相同](https://linux22.com/image/720418/%E5%B0%86%20postgres%20%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E6%97%B6%E9%97%B4%E6%88%B3%E8%AE%BE%E7%BD%AE%E4%B8%BA%E4%B8%8E%E6%9C%AC%E5%9C%B0%E6%97%B6%E5%8C%BA%E7%9B%B8%E5%90%8C.png)
我在 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
。