postgresql的日志信息
postgresql的操作日志默认是关闭的,需要对数据库进行一定的配置后才可看到日志信息。日志存放目录一般在/PostgreSQL/9.2/data/pg_log PostgreSQL有3种日志,分别是pg_log(数据库运行日志)、pg_xlog(WAL 日志,即重做日志)、pg_clog(事务提交日志,记录的是事务的元数据) pg_log默认是关闭的,需要设置参数启用此日志。pg_xlog和pg_clog都是强制打开的,无法关闭。 修改postgresql的配置文件postgresql.conf 存放目录:PostgreSQL/9.2/data 1.启用pg_log并配置日志参数 pg_ctl restart -m fast
--日志文件目录 --CSV日志文件内容 上面两条是 postgresql-2011-03-15_000000.csv 日志文件的部分内容,由于日志文件的可读性 将CSV日志导入数据库表里 这两个参数修改后,PG SERVER 需要重启。 2--创建日志记录表 "logId" int8 DEFAULT nextval('postgres_log_seq'::regclass) NOT NULL, "log_time" timestamptz(3), "user_name" text COLLATE "default", "database_name" text COLLATE "default", "process_id" int4, "connection_from" text COLLATE "default", "session_id" text COLLATE "default", "session_line_num" int8, "command_tag" text COLLATE "default", "session_start_time" timestamptz(6), "virtual_transaction_id" text COLLATE "default", "transaction_id" int8, "error_severity" text COLLATE "default", "sql_state_code" text COLLATE "default", "message" text COLLATE "default", "detail" text COLLATE "default", "hint" text COLLATE "default", "internal_query" text COLLATE "default", "internal_query_pos" int4, "context" text COLLATE "default", "query" text COLLATE "default", "query_pos" int4, "location" text COLLATE "default", "application_name" text COLLATE "default" ) WITH (OIDS=FALSE) ; CREATE SEQUENCE "soc"."NewSequence"
备注:创建日志表 postgres_log 用来保存 CSV日志数据,创建自增序列。 3--导入操作系统 csv 日志到表 postgres_log 表 skytf=# copy skytf.postgres_log from '/var/applog/pg_log/postgresql-2011-03-15_000000.csv' with csv; 备注:文件形式导入导出数据需要以超级用户 postgres 连接到目标库。 4--常用日志分析sql skytf=> select log_time,database_name,user_name,application_name,message from postgres_log where message like '%duration%'; log_time | database_name | user_name | application_name | mess age ----------------------------+---------------+-----------+------------------+-------------------------------------------------------- ------------------------------------------------------- 2011-03-15 00:23:38.957+08 | db_lbs | lbs | | duration: 1297.440 ms execute <unnamed>: SELECT cit yname,province,the_geom as the_geom FROM china_city ....... 为了显示方便,上面只取一条记录。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |