日志文件自动更改 - PostgreSQL

Log file is changed automaticaly - PostgreSQL

我在 Windows 上使用命令行启动 PostgreSQL 11 服务器,我试图提供日志文件参数,但是当我启动服务器时,日志文件被更改为分配的默认文件在 postgresql.conf 中使用 log_directorylog_filename 设置。

我试图从 postgresql.conf 文件中删除 log_directorylog_filename 数据,但没有成功,日志文件仍在更改为给定的默认文件在旧的 log_directorylog_filename 值中。

我每次都停止服务器以更新新数据,并使用以下命令行启动它:

"C:\Program Files\PostgreSQL11\bin\pg_ctl.exe" -D "C:\Program Files\PostgreSQL11\data\pg11" -w -o "-F -p 5423" -l "C:\Program Files\PostgreSQL11\data\logs\pg11\MY_LOG_FILE.log" start

我在日志文件中收到此日志消息,之后日志消息将保存在旧的默认日志文件中:

2019-07-30 11:18:00 CEST [19996]: [4-1] user=,db=,app=,client= TIPP: The further log output will appear in the directory »C:/PROGRA~1/POSTGR~2/data/logs/pg11«

文档中提到:

pg_ctl encapsulates tasks such as redirecting log output and properly detaching from the terminal and process group.

但是,由于没有人对这个问题有任何想法,看起来传递给可执行文件的日志文件与来自 postgresql.conf 的日志文件之间存在差异,后者是传递给可执行文件的只是在启动服务器时从可执行文件记录数据,配置文件中的另一个是从服务器内部记录数据,就像执行查询时一样,所以我得到的结果是有意义的现在,我得到的实际上是正常行为,但在这种情况下,文档应该得到修复。

如果不是这种情况,并且 pg_ctl 确实应该重定向服务器日志输出,那么这是 PostgreSQL 11.4 中的错误,仅供大家了解。