Postgresql 日志相关

目录日志种类作用总结配置文件中与日志相关的配置
日志种类
PostgreSQL有3种日志

pg_log(数据库运行日志)   内容可读    默认关闭的,需要设置参数启动
pg_xlog(WAL 日志,即重做日志)    内容一般不具有可读性        强制开启
pg_clog(事务提交日志,记录的是事务的元数据)  内容一般不具有可读性    强制开启

日志所在路径

pg_xlog和pg_clog一般是在$PGDATA下面的文件夹下,
pg_log默认路径是$PGDATA/pg_log,实际路径可以在$PGDATA/postgresql.conf文件中设置
作用

pg_log
作用:这个日志一般是记录服务器与DB的状态,比如各种Error信息,定位慢查询SQL,数据库的启动关闭信息,发生checkpoint过于频繁等的告警信息,诸如此类。
名称:该日志有.csv格式和.log。建议使用.csv格式,因为它一般会按大小和时间自动切割,毕竟查看一个巨大的日志文件比查看不同时间段的多个日志要难得多。
应用场景:pg_log是可以被清理删除,压缩打包或者转移,同时并不影响DB的正常运行。
应用场景2:当我们有遇到DB无法启动或者更改参数没有生效时,第一个想到的就是查看这个日志。
 
pg_xlog
作用:这个日志是记录的Postgresql的WAL信息,也就是一些事务日志信息(transaction log)
名称:这种日志形如 ‘00000001000000000000008E’, 包含的是最近失误的数据镜像;
应用场景:这些日志会在定时回滚恢复(PITR),流复制(Replication Stream)以及归档时能被用到
很重要:这些日志是非常重要的,记录着数据库发生的各种事务信息,不得随意删除或者移动这类日志文件,不然你的数据库会有无法恢复的风险
大小:每个日志文件是16M
注意:当你的归档或者流复制发生异常的时候,事务日志会不断地生成,有可能会造成你的磁盘空间被塞满,最终导致DB挂掉或者起不来。遇到这种情况不用慌,可以先关闭归档或者流复制功能,备份pg_xlog日志到其他地方,但不要删除。然后删除较早时间的的pg_xlog,有一定空间后再试着启动Postgres。
 
pg_clog
概念:pg_clog这个文件也是事务日志文件,但与pg_xlog不同的是它记录的是事务的元数据(metadata),这个日志告诉我们哪些事务完成了,哪些没有完成。这个日志文件一般非常小,但是重要性也是相当高,不得随意删除或者对其更改信息。
 
总结
pg_log记录各种Error信息,以及服务器与DB的状态信息,可由用户随意更新删除
pg_xlog与pg_clog记录数据库的事务信息,不得随意删除更新,做物理备份时要记得备份着两个日志。

参考博客:
http://906179271.iteye.com/blog/2270652
https://www.xuebuyuan.com/1384483.html
配置文件中与日志相关的配置
logging_collector = on/off
是否将日志重定向至文件中,默认是off
log_directory = ‘pg_log’
日志文件目录,默认是PGDATA的相对路径,即PGDATA的相对路径,即{PGDATA}/pg_log,也可以改为绝对路径,默认为${PGDATA}/pg_log,即集群目录下,但是日志文件可能会非常多,建议将日志重定向到其他目录或分区。将此配置修改为${PGDATA}/pg_log下,必须先创建此目录,并修改权限,chown postgres:postgres ${PGDATA}/pg_log
3.log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’ ---- 日志文件命名形式,使用默认即可
4. log_rotation_age = 1d ----  单个日志文件的生存期,默认1天,在日志文件大小没有达到log_rotation_size时,一天只生成一个日志文件
5. log_rotation_size = 10MB  ---- 单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件最大只能到10M,否则将新生成一个日志文件。
6.log_truncate_on_rotation = off ---- 当日志文件已存在时,该配置如果为off,新生成的日志将在文件尾部追加,如果为on,则会覆盖原来的日志。
7.log_lock_waits = off ---- 控制当一个会话等待时间超过deadlock_timeout而被锁时是否产生一个日志信息。在判断一个锁等待是否会影响性能时是有用的,缺省是off。
8.log_statement = ‘none’ # none, ddl, mod, all ---- 控制记录哪些SQL语句。none不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP 语句。mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等,all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句。
9.log_duration = off ---- 记录每条SQL语句执行完成消耗的时间,将此配置设置为on,用于统计哪些SQL语句耗时较长。
10.log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements and their durations, > 0 logs only statements running at least this number of milliseconds
-1表示不可用,0将记录所有SQL语句和它们的耗时,>0只记录那些耗时超过(或等于)这个值(ms)的SQL语句。个人更喜欢使用该配置来跟踪那些耗时较长,可能存在性能问题的SQL语句。虽然使用log_statement和log_duration也能够统计SQL语句及耗时,但是SQL语句和耗时统计结果可能相差很多行,或在不同的文件中,但是log_min_duration_statement会将SQL语句和耗时在同一行记录,更方便阅读。
11.log_connections = off ----是否记录连接日志
12.log_disconnections = off ---- 是否记录连接断开日志
13.log_line_prefix = '%m %p %u %d %r ’ ---- 日志输出格式(%m,%p实际意义配置文件中有解释),可根据自己需要设置(能够记录时间,用户名称,数据库名称,客户端IP和端口,方便定位问题)
14.log_timezone = ‘Asia/Shanghai’ ---- 日志时区,最好和服务器设置同一个时区,方便问题定位
服务器时区设置
[root@localhost ~]# cp -rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

版权声明:本文为博主原创文章,转载请附上博文链接!
https://blog.csdn.net/yueludanfeng/article/details/83153523

转载于:https://www.cnblogs.com/xibuhaohao/p/11098581.html

基于STM32F407,使用DFS算法实现最短迷宫路径检索,分为三种模式:1.DEBUG模式,2. 训练模式,3. 主程序模式 ,DEBUG模式主要分析bug,测量必要数据,训练模式用于DFS算法训练最短路径,并将最短路径以链表形式存储Flash, 主程序模式从Flash中….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值