如何在 PostgreSQL 9.1 中使用 pgFouine?

Posted

技术标签:

【中文标题】如何在 PostgreSQL 9.1 中使用 pgFouine?【英文标题】:How to use pgFouine with PostgreSQL 9.1? 【发布时间】:2012-05-18 11:34:33 【问题描述】:

使用 pgFouine 1.2、PostgreSQL 9.1.3。

postgresql.conf 设置:

log_min_duration_statement = 0
log_duration = on
log_line_prefix = '%t [%p]: [%l-1] '
log_statement = 'all'
lc_messages = 'C'           # locale for system error message strings
lc_monetary = 'C'           # locale for monetary formatting
lc_numeric = 'C'            # locale for number formatting
lc_time = 'C'               # locale for time formatting

运行 pgFouine 时出现错误:

C:\Users\Razvan\Desktop\pgfouine-1.2>php pgfouine.php -file log > report.html

pgFouine did not find any valid PostgreSQL log line in your log file:
* check that PostgreSQL uses an english locale for logging (lc_messages in your postgresql.conf),
* check that you use the -logtype option (syslog, stderr) according to your log file,
* if you use syslog and log_line_prefix, check that your log_line_prefix has a trailing space,
* if you use stderr, check that your log_line_prefix is of the form '%t [%p]: [%l-1] '.
If you think your log file and your options are correct, please contact the author (gsmet on #postgresql@freenode or guillaume-pg at smet dot org).

我正在使用C:\Program Files\PostgreSQL\9.1\data\pg_log中的日志文件

我尝试了各种设置,但没有任何效果,也无法在互联网上找到任何解决方案。

感谢您的帮助!

【问题讨论】:

你能显示你的日志文件的第一行吗? @DanielVérité:以下是日志文件开头的几行:paste2.org/p/2027616 【参考方案1】:

尝试添加 logtype 选项:

pgfouine -logtype stderr -file filename

【讨论】:

我应该在哪里添加上面的代码?在日志文件或 postgresql.conf 文件中? @Jay:这是您在 shell 解释器中键入的命令。请参阅 pgfouine 文档。 我在命令提示符中使用的当前命令是 php pgfouine.php -file /postgresql/data/pg_log/postgresql-2014-06-24_083518.log > jtest.html 我应该如何更改是吗? @Jay:你想问一个新问题来解释你的情况

以上是关于如何在 PostgreSQL 9.1 中使用 pgFouine?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PostgreSQL 9.1 中使用 pgFouine?

如何从 PostgreSQL 触发器发送电子邮件?

PostgreSQL版本快速升级

在桌面 PostgreSQL 中使用 pg_read_file 读取文件

PostgreSQL - pg_config -bash:pg_config:找不到命令

如何使用来自 SqlAchemy+pg8000 的 SSL 连接到 Postgresql?