• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

PostgreSQL 日志跟踪

武飞扬头像
xcagy
帮助3

PostgreSQL 日志支持的输出格式有 stderr(默认)、csvlog 、syslog

一般的错误跟踪,只需在配置文件 【postgresql.conf】简单设置几个参数,当然还有错误级别等要设置。

复制代码

logging_collector = on

log_destination = 'stderr'

log_directory = 'log'

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

SELECT

name,

setting,

vartype,

boot_val,

reset_val

FROM pg_settings

where name in('logging_collector','log_destination','log_directory','log_filename');

复制代码

默认的跟踪日志记录在 pgdate/log 中,如 /usr/local/pgsql/data/log 。

其他几个重要参数说明:

log_rotation_age = 1440 #minute,多长时间创建新的文件记录日志。0 表示禁扩展。

log_rotation_size = 10240 #kb,文件多大后创建新的文件记录日志。0 表示禁扩展。

log_truncate_on_rotation = on #可重用同名日志文件

当需要跟踪SQL语句或者慢语句,得需要设置以下参数:

log_statement = all #需设置跟踪所有语句,否则只能跟踪出错信息

log_min_duration_statement = 5000 #milliseconds,记录执行5秒及以上的语句

log_statement:

设置跟踪的语句类型,有4种类型:none(默认), ddl, mod, all。跟踪所有语句时可设置为 "all"。

log_min_duration_statement:

跟踪慢查询语句,单位为毫秒。如设置 5000,表示日志将记录执行5秒以上的SQL语句。

当 log_statement=all 和 log_min_duration_statement 同时设置时,将跟踪所有语句,忽略log_min_duration_statement 设置。所以需按情况设置其中一个或两个值。

加载配置

select pg_reload_conf();

show log_min_duration_statement;登录后复制

针对某个用户或者某数据库进行设置

alter database test set log_min_duration_statement=5000;

捕获正在查询的慢SQL

select * from pg_stat_activity where state<>'idle' and now()-query_start > interval '5 s' order by query_start ;

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhcigg
系列文章
更多 icon
同类精品
更多 icon
继续加载