Postgres设置pg_log日志记录内容
来源:互联网 发布:创意美工作品图片大全 编辑:程序博客网 时间:2024/06/08 05:03
设置日志记录内容
设置日志记录内容--log_statement:none, ddl, mod, and all 。
None表示不记录。
ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP语句。
mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等。
all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句,但会对数据库性能产生较大影响,生产环境不建议配置此值。
(1) 将log_statement设置为none,将不记录数据库的任何操作。
(2) 将log_statement设置为ddl
highgo=#show log_statement;
log_statement
---------------
none
(1row)
highgo=#alter system set log_statement = ddl;
ALTERSYSTEM
highgo=#\q
[highgo@sourcedbdata]$ pg_ctl reload
serversignaled
[highgo@sourcedbdata]$ psql
psql(3.0.2)
Type"help" for help.
highgo=#show log_statement;
log_statement
---------------
ddl
(1row)
执行如下操作:
highgo=#create table test (id int);
CREATETABLE
highgo=#insert into test values (1);
INSERT0 1
highgo=#update test set id=2 where id=1;
UPDATE1
highgo=#delete from test where id=1;
DELETE0
highgo=#select * from test;
id
----
2
(1row)
日志记录内容如下:
日志: 语句: create table test(id int);
(3) 将log_statement设置为mode
highgo=#alter system set log_statement = mod;
ALTERSYSTEM
highgo=#\q
[highgo@sourcedbdata]$ pg_ctl reload
serversignaled
[highgo@sourcedbdata]$ psql
psql(3.0.2)
Type"help" for help.
highgo=#show log_statement;
log_statement
---------------
mod
(1row)
执行如下操作:
highgo=#drop table test;
DROPTABLE
highgo=#create table test (id int);
CREATETABLE
highgo=#insert into test values (1);
INSERT0 1
highgo=#update test set id=2 where id=1;
UPDATE1
highgo=#delete from test where id=1;
DELETE0
highgo=# select * from test;
id
----
2
(1row)
日志记录如下:
日志: 语句: alter system setlog_statement = mod;
日志: 接收到 SIGHUP, 重载配置文件
日志: 参数"log_statement"被改为"mod"
日志: 语句: drop table test;
日志: 语句: create table test(id int);
日志: 语句: insert into testvalues (1);
日志: 语句: update test setid=2 where id=1;
日志: 语句: delete from testwhere id=1;
注:此处未记录select查询语句(log_min_duration_statement=-1此处为默认值)。当同时设置log_statement=’mod’和log_min_duration_statement=0后,也会记录select。
highgo=#alter system set log_statement=mod;
ALTERSYSTEM
highgo=#alter system set log_min_duration_statement=0;
ALTERSYSTEM
highgo=#\q
[highgo@sourcedbdata]$ pg_ctl reload
serversignaled
[highgo@sourcedbdata]$ psql
psql(3.0.2)
Type"help" for help.
highgo=#drop table test;
DROPTABLE
highgo=#create table test (id int);
CREATETABLE
highgo=#insert into test values (1);
INSERT0 1
highgo=#update test set id=2 where id=1;
UPDATE1
highgo=#delete from test where id=1;
DELETE0
highgo=#select * from test;
id
----
2
(1row)
日志记录如下:
日志: 参数"log_statement"被改为"mod"
日志: 接收到 SIGHUP, 重载配置文件
日志: 参数"log_min_duration_statement"被改为"0"
日志: 语句: drop table test;
日志: 执行时间: 8.179 ms
日志: 语句: create table test(id int);
日志: 执行时间: 6.478 ms
日志: 语句: insert into testvalues (1);
日志: 执行时间: 0.691 ms
日志: 语句: update test setid=2 where id=1;
日志: 执行时间: 4.671 ms
日志: 语句: delete from testwhere id=1;
日志: 执行时间: 0.212 ms
日志: 执行时间: 0.126 ms 语句: select * from test;
注:此时记录了select语句。
(4) 将log_statement设置为all
highgo=#alter system set log_statement= all;
错误: 语法错误 在"all" 或附近的
LINE1: alter system set log_statement= all;
^
highgo=#alter system set log_statement= 'all'; --此处需加双引号
ALTERSYSTEM
highgo=#\q
[highgo@sourcedbdata]$ pg_ctl reload
serversignaled
[highgo@sourcedbdata]$ psql
psql(3.0.2)
Type"help" for help.
highgo=#show log_statement;
log_statement
---------------
all
(1row)
注:此时log_min_duration_statement=-1。
执行如下操作:
highgo=#drop table test;
DROPTABLE
highgo=#create table test (id int);
CREATETABLE
highgo=#insert into test values (1);
INSERT0 1
highgo=#update test set id=2 where id=1;
UPDATE1
highgo=#delete from test where id=1;
DELETE0
highgo=#select * from test;
id
----
2
(1row)
日志记录如下:
语句: alter system set log_statement= all;
日志: 语句: alter system setlog_statement= 'all';
日志: 接收到 SIGHUP, 重载配置文件
日志: 参数"log_statement"被改为"all"
日志: 语句: showlog_statement;
日志: 语句: drop table test;
日志: 语句: create table test(id int);
日志: 语句: insert into testvalues (1);
日志: 语句: update test setid=2 where id=1;
日志: 语句: delete from testwhere id=1;
日志: 语句: select * fromtest;
注:此处记录了select语句。- Postgres设置pg_log日志记录内容
- Postgres日志记录用户登录退出信息
- Postgres log_duration设置记录SQL执行时间
- apache 访问日志如何设置每日新增一个日志文件、如何限制大小、设置记录内容
- postgres(HGDB)开启告警日志记录功能
- xshell5日志记录设置
- Postgres log_line_prefix 设置日志输出格式 log_line_prefix 设置日志输出格式
- Postgres的日志实用功能
- postgres使用pg_resetxlog命令重置一个数据库集群的预写日志以及其它控制内容
- MySQL设置记录操作日志
- php错误日志记录设置
- postgres 设置密码
- Postgres归档设置
- 如何设置apache日志记录蜘蛛爬行
- Nginx 记录请求分发日志设置
- laravel5日志设置篇(2/3) – 记录sql日志
- postgres 设置主键自增
- Postgres数据库用户密码有效期设置
- MySQL数据处理函数
- Ambari Agent源码梳理
- 优化定制化abap代码必须遵守的经典黄金规则
- POJ 1155 TELE 树形dp + 背包
- 机房收费系统—前期配置
- Postgres设置pg_log日志记录内容
- java(十四):transient与序列化
- Linux应用编程基础--(8)线程间的同步和互斥
- 极客公园邀你一起探寻技术X资本的下一个引爆点
- (二)关于套接字的断开操作--半关闭
- 你一定没想过,直播能否激发人性中的善
- 记录一下MD5和RSA的加密程序
- TechCrunch 国际创新峰会<上海站>邀你一起 See the Future
- FCC算法:一、Reverse a String--翻转字符串