我正在使用Windows上的命令行启动PostgreSQL 11服务器,并且我正在尝试提供日志文件参数,但是当我启动服务器时,日志文件正在更改为默认的文件,用log_directory
和log_filename
设置在postgresql.conf
中分配。
我尝试从 postgresql.conf
文件中删除 log_directory
和 log_filename
数据,但它行不通的日志文件仍在更改为旧的 log_directory
和 log_filename
valution中给出的默认文件。
我每次都会停止服务器以获取新数据,并且我正在使用此命令行开始:
"C:Program FilesPostgreSQL11binpg_ctl.exe" -D "C:Program FilesPostgreSQL11datapg11" -w -o "-F -p 5423" -l "C:Program FilesPostgreSQL11datalogspg11MY_LOG_FILE.log" start
我在日志文件中获取此日志消息,然后将日志消息保存在旧的默认日志文件中:
2019-07-30 11:18:00 Cest [19996]:[4-1] user =,db =,app =,client = tipp:tipp: 进一步的日志输出将显示在目录中 »c:/progra〜1/postgr〜2/data/logs/pg11«
在文档中提到:
pg_ctl封装诸如重定向日志和正确的任务 从终端和过程组分离。
但是,由于没有人对此问题有任何了解,因此似乎将传递给可执行文件的日志文件与来自postgresql.conf
的日志文件之间存在区别要在启动服务器时从可执行文件中记录数据,另一个来自配置文件的数据是从服务器内部记录数据,例如执行查询时,因此我现在有意义的结果以及我得到的内容实际上是正常行为,但是在这种情况下,该文档应修复。
如果不是这种情况,并且pg_ctl
应该真正重定向服务器日志输出,那么这是PostgreSQL 11.4
中的一个错误,只是让大家知道。