【问题标题】:Error in reading Postgres log by pgfouine.phppgfouine.php 读取 Postgres 日志时出错
【发布时间】:2013-06-04 07:00:54
【问题描述】:

我在 bash 脚本 /etc/rc.d/init.d/postgresql 中通过选项 -l ${LOGFILE} 定义了带有 LOGFILE 的 Postgres 配置

日志给出以下输出:

2013-06-07 11:28:18 EDTrentgrowLOG: 声明: select count(*) from (从结果限制 1 中选择 *)测试
2013-06-07 11:28:18 美国东部时间 rentgrowLOG:持续时间:0.333 毫秒

pgfouine.php 无法读取此输出 - 错误是: “pgFouine 在您的日志文件中没有找到任何有效的 PostgreSQL 日志行:”

我还发现我在 postgresql.conf 中的更改根本不会影响输出。

如何准备一个 pgfouine.php 可读的 Postgres 日志文件?

【问题讨论】:

  • postgresql.conf 中的 log_line_prefix 是什么?传递给 pgFouine 的选项是什么?
  • log_line_prefix = '%t [%p]: [%l-1] ' C:\pgf>\wamp\bin\php\php5.3.13\php.exe pgfouine.php -file postgresql -2013-06-07_182652.log -logtype stderr 我没有看到更改配置文件中的选项会更改输出。我无法在 Linux 上安装 php,所以我使用的是 windows

标签: bash postgresql logging


【解决方案1】:

我还发现我在 postgresql.conf 中的更改不会影响 完全输出。

这可能是问题的根源。您的 log_line_prefix 被忽略。否则,按照 pgFouine 的建议将前缀设置为 '%t [%p]: [%l-1] ',日志条目将如下所示:

2013-06-13 16:38:18 CEST [6203]: [2-1] LOG: 持续时间: 0.169 ms 语句: select 1;

至于问题:为什么对postgresql.conf 的更改被忽略?一些典型的原因是:

  1. 更改后不重新加载它,通过直接或通过pg_ctlservice 命令将SIGHUP 发送给邮局主管。
  2. 编辑错误的文件。见:Where are my postgres *.conf files?

【讨论】:

    猜你喜欢
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    相关资源
    最近更新 更多