赞
踩
一、PostgreSQL有3种日志:
1)pg_log(数据库运行日志) 内容可读 默认关闭的,需要设置参数启动 (log_directory = 'log' ; log_filename = 'postgresql.log';logging_collector = on)
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)pg_xlog(WAL 日志,即重做日志) 内容一般不具有可读性 强制开启
3)pg_clog(事务提交日志,记录的是事务的元数据) 内容一般不具有可读性 强制开启
PostgreSQL的WAL日志文件在pg_wal目录下,一般情况下,每个文件为16M大小:000000010000000000000010文件名称为16进制的24个字符组成,每8个字符一组,每组的意义如下:
时间线:英文为timeline,是以1开始的递增数字,如1,2,3...
LogId:32bit长的一个数字,是以0开始递增的数字,如0,1,2,3...
LogSeg:32bit长的一个数字,是以0开始递增的数字,如0,1,2,3...
相关日志参数说明:
wal_keep_segments = 0 # in logfile segments, 16MB
通过max_wal_size和checkpoint_completion_target 参数来控制产生多少个XLOG后触发检查点,(默认max_wal_size为1G,单个文件16M,就是1024/16=64)
通过min_wal_size和max_wal_size参数来控制哪些XLOG可以循环使用。
wal日志跟online redo log一样,其个数,也不是无限的。归档日志就出现了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。