PostgreSQL数据库中告警日志中不记录select的设置方法
log_statement (string)
控制记录哪种SQL语句的执行信息。有效的取值是none、ddl、mod和all。默认值是none。ddl包括所有数据定义语句,如CREATE、 ALTER和DROP语句。mod包括所有ddl语句和更新数据的语句,例如INSERT、UPDATE、DELETE、TRUNCATE、 COPY FROM、PREPARE和 EXECUTE。All包括所有的语句。只有超级用户才能修改这个参数。
highgo=# show log_min_duration_statement;
log_min_duration_statement -----该值为-1且log_statement=mod,日志中不记录select
----------------------------
-1
(1 row)
highgo=# show log_statement;
log_statement
---------------
mod
(1 row)
highgo=# select * from test;
id | name
----+-------
6 | a
6 | b
6 | c
3 | a
(4 rows)
highgo=# insert into test values (3,'a');
INSERT 0 1
highgo=# update test set id=5 where id=3;
UPDATE 2
highgo=#
highgo=# delete from test where id=5;
DELETE 2
highgo=# select * from test;
id | name
----+-------
6 | a
6 | b
6 | c
(3 rows)
日志记录如下:
[highgo@sourcedb hgdb_log]$ tail -f hgdb-2017-06-27_155636.log
日志: 数据库上次关闭时间为 2017-06-27 15:54:15 CST
日志: MultiXact member wraparound protections are now enabled
日志: 数据库系统准备接受连接
日志: 已启动autovacuum
日志: 执行时间: 21.360 ms 语句: select * from test;
日志: 语句: insert into test values (3,'a');
日志: 执行时间: 8.301 ms
日志: 接收到 SIGHUP, 重载配置文件
日志: 参数 "log_min_duration_statement"被改为"-1"
日志: 语句: insert into test values (3,'a');
日志: 语句: update test set id=5 where id=3;
日志: 语句: delete from test where id=5;
****************************************************************************************************
highgo=# show log_min_duration_statement
highgo-# ;
log_min_duration_statement ----该值为0且log_statement=mod时,会记录select
----------------------------
0
(1 row)
highgo=# show log_statement;
log_statement
---------------
mod
(1 row)
highgo=# select * from test;
id | name
----+-------
6 | a
6 | b
6 | c
(3 rows)
highgo=# insert into test values (3,'a');
INSERT 0 1
highgo=# update test set id=6 where id=3;
UPDATE 1
highgo=# delete from test where id=6;
DELETE 4
highgo=# select * from test;
id | name
----+------
(0 rows)
日志记录如下:
日志: 接收到 SIGHUP, 重载配置文件
日志: 参数 "log_min_duration_statement"被改为"0"
日志: 执行时间: 0.236 ms 语句: show log_min_duration_statement
;
日志: 执行时间: 0.068 ms 语句: show log_statement;
日志: 执行时间: 0.710 ms 语句: select * from test;
日志: 语句: insert into test values (3,'a');
日志: 执行时间: 2.107 ms
日志: 语句: update test set id=6 where id=3;
日志: 执行时间: 4.371 ms
日志: 语句: delete from test where id=6;
日志: 执行时间: 3.812 ms
日志: 执行时间: 0.110 ms 语句: select * from test;