postgresql生成日志数据库

1.启用pg_log并配置日志参数

log_destination = ‘csvlog’
logging_collector = on
log_directory = ‘pg_log’
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’
log_rotation_age = 1d
log_rotation_size = 100MB
log_min_messages = info
#记录执行慢的SQL
log_min_duration_statement = 60
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration = on
log_line_prefix = ‘%m’
#监控数据库中长时间的锁
log_lock_waits = on
#记录DDL操作
log_statement = ‘ddl’

2.重启PostgreSQL即可在$PGDATA/pg_log/ 下看到新生成的日志。

pg_ctl restart -m fast
–日志文件目录
日志的目录可以通过参数 log_directory 来设置,下面是我的参数设置。
log_directory = ‘/var/applog/pg_log’

将CSV日志导入数据库表里

1–调整参数

log_destination = 'csvlog'
logging_collector = on
这两个参数修改后,PG SERVER 需要重启。

2–创建日志记录表

CREATE TABLE pg_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)
);

3–导入操作系统 csv 日志到表 pg_log 表

查看日志文件名字

  cd $PGDATA/log
  ls -rtl

在这里插入图片描述

copy pg_log from '/var/lib/postgresql/data/log/postgresql-2020-02-19_090159.csv' with csv;

在这里插入图片描述

发布了17 篇原创文章 · 获赞 1 · 访问量 443

猜你喜欢

转载自blog.csdn.net/qq_44641344/article/details/104396463
今日推荐