我一直在谷歌搜索超过2个小时,但我真的很困惑这个.
我想PostgreSQL(我在Debian上使用的是8.4版本)开始只记录慢速查询.
为此,我在以下配置中使用postgresql.conf
:
log_destination = 'csvlog' logging_collector = on log_min_messages = log log_min_duration_statement = 1000 log_duration = on log_line_prefix = '%t ' log_statement = 'all'
配置的其余部分都是默认设置(已注释掉).日志记录有效,但它会记录所有语句,甚至是低于1000(ms)阈值的语句.如果我执行'全部显示',我会看到所有设置都有效.我也试过重启Postgres.
我希望有人可以帮助我.
log_statement = 'all'
指示服务器记录所有语句,就这么简单.此外,
log_duration = on
还指示服务器记录所有语句,包括持续时间信息.
改为
log_statement = none log_duration = off
不需要报价.或者将它们评论出来并重新加载.然后不记录任何语句,除了那些运行时间超过1000毫秒的语句 - 由指示
log_min_duration_statement = 1000
这一切都在优秀的手册中.