[转帖]PostgreSQL 日志参数解释 常用环境日志参数配置

postgresql,日志,参数,解释,常用,环境,配置 · 浏览次数 : 0

小编点评

## 常用日志参数配置 以下是 PostgreSQL 常用的日志参数配置: **1. 基本参数** - `logging_collector`: 设置日志收集方式,默认值为 `off`(关闭)。 - `log_destination`: 设置日志输出目标,默认值为 `csvlog`。 - `log_directory`: 设置日志文件保存目录,默认值为 `PGDATA/pg_log`。 - `log_filename`: 设置日志文件命名格式,默认值为 `postgresql-%Y-%m-%d_%H%M%S.log`。 - `log_rotation_age`: 设置日志文件生存期,默认值为 1 天。 - `log_rotation_size`: 设置日志文件大小限制,默认值为 10 MB。 - `log_truncate_on_rotation`: 设置当日志文件已存在时是否删除旧文件,默认值为 `off`。 **2. SQL语句跟踪参数** - `log_statement`: 设置要跟踪的 SQL 语句类型,默认值为 `none`。 - `log_duration`: 设置 SQL 语句执行时间跟踪间隔,默认值为 0。 - `log_min_duration_statement`: 设置仅记录耗时超过此值的 SQL 语句,默认值为 -1。 **3. 连接日志参数** - `log_connections`: 设置记录连接日志的开关,默认值为 `off`。 - `log_disconnections`: 设置记录连接断开日志的开关,默认值为 `off`。 - `log_line_prefix`: 设置每个日志记录的格式,默认值为 `%m %p %u %d %r`。 **4. 时区参数** - `log_timezone`: 设置日志输出的时区,默认值为 `Asia/Shanghai`。 **5. 文件大小限制** - `log_filename`: 设置记录 SQL 语句执行耗时超过指定值 (ms) 的 SQL 语句的日志文件名称。 **其他参数** - `log_max_size`: 设置每个日志文件允许保存的最大尺寸。 - `log_statement_timeout`: 设置 SQL 语句执行超时时间。 **请注意:** * 以上参数配置仅供参考,具体设置需根据实际需求进行调整。 * 建议阅读官方文档获取更多配置参数的详细信息。

正文

1.常用日志参数

logging_collector = on/off
 是否将日志重定向至文件中,默认是off(该配置修改后,需要重启DB服务),启动之后查看进程ps -ef|grep postgres,会多一个logger进程。
 
log_directory = 'pg_log'
日志文件目录,默认是PGDATA的相对路径,即PGDATA的相对路径,即{PGDATA}/pg_log,也可以改为绝对路径,可以定义在其他目录或者分区,但是必须先创建此目录,并修改权限。
 
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
日志文件命名形式,使用默认即可
 
log_rotation_age = 1d 
单个日志文件的生存期,默认1天,在日志文件大小没有达到log_rotation_size时,一天只生成一个日志文件
 
log_rotation_size = 10MB 
单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件最大只能到10M,否则将新生成一个日志文件。
 
log_truncate_on_rotation = off
当日志文件已存在时,该配置如果为off,新生成的日志将在文件尾部追加,如果为on,则会覆盖原来的日志。
 
log_ lock_waits = off 
控制当一个会话等待时间超过deadlock_timeout而被锁时是否产生一个日志信息。在判断一个锁等待是否会影响性能时是有用的,缺省是off。
 
log_statement = 'none' 
# none, ddl, mod, all ---- 控制记录哪些SQL语句。none不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP 语句。mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等,all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句。
 
log_duration = off 
记录每条SQL语句执行完成消耗的时间,将此配置设置为on,用于统计哪些SQL语句耗时较长。
 
log_min_duration_statement = -1
 # -1示不可用,0将记录所有SQL语句和它们的耗时,>0只记录那些耗时超过(或等于)这个值(ms)的SQL语句。个人更喜欢使用该配置来跟踪那些耗时较长,可能存在性能问题的SQL语句。虽然使用 log_statement和log_duration也能够统计SQL语句及耗时,但是SQL语句和耗时统计结果可能相差很多行,或在不同的文件中,但是log_min_duration_statement会将SQL语句和耗时在同一行记录,更方便阅读。
 
log_connections = off
是否记录连接日志
 
log_disconnections = off
是否记录连接断开日志
 
log_line_prefix = '%m %p %u %d %r ' 
日志输出格式(%m,%p实际意义配置文件中有解释),可根据自己需要设置(能够记录时间,用户名称,数据库名称,客户端IP和端口,方便定位问题)
 
log_timezone = 'Asia/Shanghai' 
日志时区,最好和服务器设置同一个时区,方便问题定位
 
log_filename
设置日志文件名,需结合log_truncate_on_rotation = on使用.可根据自己的需要调整, 例如:
 
  1. #最多保存12小时的日志,每小时一个文件
  2. log_filename = 'postgresql-%I.log'
  3. #最多保存24小时的日志,每小时一个文件
  4. log_filename = 'postgresql-%H.log'
  5. #最多保存一周的日志,每天一个文件
  6. log_filename = 'postgresql-%w.log'
  7. #最多保存一个月的日志,每天一个文件
  8. log_filename = 'postgresql-%d.log'
  9. #最多保存一年的日志,每天一个文件
  10. log_filename = 'postgresql-%j.log'
 
 

2.常用配置

logging_collector = 'on'
log_destination = 'csvlog'
log_directory = 'pg_log'
log_min_duration_statement = '800'
log_filename = 'postgresql-%d_%H%M%S.log'
log_rotation_size = '1024MB'
log_truncate_on_rotation = 'on'
 
alter system修改日志参数
alter system set logging_collector = 'on';
alter system set log_destination = 'csvlog';
alter system set log_directory = 'pg_log';
alter system set log_min_duration_statement = '800';
alter system set log_filename = 'viid_log_%a.log';
alter system set log_rotation_size = '1024MB';
alter system set log_truncate_on_rotation = 'on';
 
#必须加上引号
log_filename = 'viid_log_%a.log'
 
 
文章知识点与官方知识档案匹配,可进一步学习相关知识
PostgreSQL技能树首页概览6104 人正在系统学习中

与[转帖]PostgreSQL 日志参数解释 常用环境日志参数配置相似的内容:

[转帖]PostgreSQL 日志参数解释 常用环境日志参数配置

1.常用日志参数 logging_collector = on/off 是否将日志重定向至文件中,默认是off(该配置修改后,需要重启DB服务),启动之后查看进程ps -ef|grep postgres,会多一个logger进程。 log_directory = 'pg_log' 日志文件目录,默认

[转帖]postgresql日志参数

https://www.jianshu.com/p/407c03aaa600 postgresql日志参数 logging_collector:这个参数启用日志收集器,它是一个捕捉被发送到stderr的日志消息的后台进程,并且它会将这些消息重定向到日志文件中;默认是OFF,修改参数需要重启。 log

[转帖]PostgreSQL 参数优化设置 32GB内存(推荐) 内存参数 检查点 日志参数 自动初始化参数shell脚本

1.修改参数列表 (1)执行计划 enable_nestloop = off #默认为on enable_seqscan = off #默认为on enable_indexscan = on enable_bitmapscan = on max_connections = 1000 #默认为100

[转帖]PostgreSQL 慢查询SQL跟踪

https://www.cnblogs.com/VicLiu/p/12017704.html PostgreSQL 开启慢SQL捕获在排查问题时是个很有效的手段。根据慢SQL让我在工作中真正解决了实际问题,很有帮助。 PostgreSQL 日志支持的输出格式有 stderr(默认)、csvlog 、

[转帖]PostgreSQL WAL日志清理

https://www.modb.pro/db/65309 pg_archivecleanup -d $PGDATA/pg_wal `pg_controldata $PGDATA |grep "REDO WAL" |awk '{print $6}'` 作者:崔鹏,曾获得中国PostgreSQL数据库

[转帖]PostgreSQL的xlog/Wal归档及日志清理

PostgreSQL的xlog/Wal归档及日志清理 https://www.modb.pro/db/86041 xlog/wal日志 类似于Oracle的redo, PostgreSQL 的redo文件被称为WAL文件或XLOG文件,存放在$PGDATA/pg_xlog 或($PGDATA/pg_

[转帖]PostgreSQL中切换WAL是否会触发checkpoint

https://www.modb.pro/db/570143?utm_source=index_ori 内容概述 Oracle数据库中切换redo日志会触发检查点事件,那么在PostgreSQL中是否也会触发checkpoint事件呢? Oracle中测试 [oracle@orcldb ~]$ sq

[转帖]openGauss 3.0 单节点安装部署

https://cdn.modb.pro/db/568455 openGauss来源于PostgreSQL 9.2.4pg使用c实现,gs使用c++实现一个实例多个库 单机HA不是支持一主一备,提供高可靠和读扩展,备机最多8套。 主备部署模块说明:OM运维管理模块:提供日常运维、配置管理接口,工具在

[转帖]openGauss 3.0 单节点安装部署

https://cdn.modb.pro/db/568455 openGauss来源于PostgreSQL 9.2.4pg使用c实现,gs使用c++实现一个实例多个库 单机HA不是支持一主一备,提供高可靠和读扩展,备机最多8套。 主备部署模块说明:OM运维管理模块:提供日常运维、配置管理接口,工具在

[转帖]金仓数据库KingbaseES数据目录结构

KingbaseES数据库结构 [kingbase@postgresV8]$ tree -LP2data/.├── data│ ├── base # 存储用户创建的数据库文件及隶属于用户数据库的所有关系.比如表、索引...│ ├── current_logfiles. # 记录当前被日志收集器写入的