pg日志分析

pg 日志支持多种格式,一般的平面文本

还有csv 格式

在postgresql.conf 里把日志格式设为 csvlog  重新加载配置文件就可以了。

把csv 导入到数据库里分析,可以充分利用sql的便利性。[code]

CREATE  TABLE postgres_log
(
  log_time timestamp(3) with time zone,
   user_name text,
  database_name text,
  process_id integer,
   connection_from text,
  session_id text,
  session_line_num  bigint,
  command_tag text,
  session_start_time timestamp with  time zone,
  virtual_transaction_id text,
  transaction_id bigint,
  error_severity text,
  sql_state_code text,
  message text,
   detail text,
  hint text,
  internal_query text,
   internal_query_pos integer,
  context text,
  query text,
   query_pos integer,
  location text,
  application_name text,
   PRIMARY KEY (session_id, session_line_num)
);
[/code]日志导入[code]
postgres=# \encoding utf8
postgres=# copy postgres_log from '/usr/local/pgsql/data/pg_log/postgresql-2012-10-11.csv' with csv ;
COPY 65
postgres=# \q

[/code]接下来就可以按需分析了。

写了个小脚本,免得每次都麻烦:
[code]
#!/bin/bash



function  load_logfile() {
    psql <    \encoding UTF8
    \set on_error stop
    begin ;
    copy   postgres_log from '$1' with csv ;
    commit ;
EOF

}

function  truncate_table() {
    psql <    \set on_error stop
    begin ;
    truncate table postgres_log ;
    commit;
EOF
}

if [ "$1" = 'TRUNCATE'  -o  "$1" = 'truncate' ]
then
    truncate_table
else
    load_logfile $1
fi

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-746257/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-746257/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值