如何使用PostgreSQL日志相关配置参数log_XXX

分类:编程技术 时间:2024-02-20 15:49 浏览:0 评论:0
0
本文介绍《如何使用PostgreSQL及日志相关配置参数log_XXX》的相关知识。在实际案例操作过程中,很多人都会遇到这样的困境。接下来就让小编带领大家学习如何处理这些情况吧!我希望你能仔细阅读并学到一些东西!

概述

在新的initdb数据库上查询pg_settings,可以PostgreSQL中查询日志的参数包括:

[test@localhost ~]$ psql自动使用展开显示。psql (12.1)输入“help”获取帮助。[local:/var/run/test] : 5000 test@testdb=# 从 pg_settings 中选择类别、名称、设置,其中名称如 'log%' 按类别排序;设置      ------------------------ ----------------+---------- ------------------+---- -------------------------------------- -- 报告和记录/记录内容 |日志锁定等待off 报告和记录/记录内容 |日志检查点ts | off 报告和记录/记录内容 |日志连接 | off 报告和记录/记录内容 |日志时区 | PRC 报告和日志记录/记录内容 |日志临时文件 | -1 报告和记录/记录内容|日志断开连接 | off 报告和记录/记录内容 |日志持续时间| off 报告和记录/记录内容 |日志错误详细程度 |默认报告和日志记录/记录内容 |日志语句|无 报告和记录/记录内容 |日志复制命令off 报告和记录/记录内容 | log_autovacuum_min_duration | log_autovacuum_min_duration | -1 报告和记录/记录内容|日志主机名 | off 报告和记录/记录内容 |日志行前缀 | %m [%p] 报告和记录/何时记录 | log_min_duration_statement | 日志最小持续时间语句-1 报告和记录/何时记录| log_min_error_statement | 日志最小错误语句错误报告和记录/何时记录 | log_min_messages |警告报告和记录/何时记录|日志交易样本率 | 0 报告和记录ing / 在哪里登录 |日志目的地 | stderr 报告和日志记录 / 记录位置 |日志文件名 | postgresql-%Y-%m- %d_%H%M%S.log 报告和日志记录/日志记录位置 |日志采集器 | off 报告和日志记录/日志记录位置 | log_truncate_on_rotation | | log_truncate_on_rotation off 报告和日志记录/日志记录位置 |日志旋转大小 | 10240 报告和日志记录/日志记录位置 | 10240 报告和日志记录日志文件模式| 0600 报告和记录/记录地点| log_rotation_ 年龄                                                                                                                         监控 |日志语句统计 |关闭统计/监控|日志计划统计 |关闭统计/监控| log_executor_stats | 日志执行器统计关闭统计/监控|日志解析器统计 | off(29 rows)[local:/var/run/test]:5000 test@testdb=#

可以看到,日志是直接在控制台输出的,有29个以开头的参数日志_。这些参数是从电机尺寸来分析的关于、何时、以及什么。本节是第二部分,介绍何时登录。 。

何时记录

带有时间属性参数包括log_timezone、log_duration、log_autovacuum_min_duration、log_min_duration_statement
log_min_messages
选项从低到高包括:
debug5
debug4
debug3
debug2
debug1
info
notice
warning
error
log
fatal
panic
默认值为警告。
如果设置为panic,则仅包含panic级别的日志。如果设置为debug5,将包含所有级别的日志。接下来,将该参数设置为debug5,重启数据库,查看日志输出。

[test@localhost ~]$ grep 'log_min_' $PGDATA/postgresql.conflog_min_messages = debug5 # 按详细信息降序排列的值:#log_min_error_statement = error # 按详细信息降序排列的值: #log_min_duration_statement = - 1 # -1 是不可用的bled, 0 记录所有语句[test@localhost ~]$ [test@localhost ~]$ pg_ctl restart等待服务器关闭....完成服务器停止等待服务器启动....2023-12-27 10:25: 15.198 CST [4441] 调试:postgres:PostmasterMain:初始环境转储:2023-12-27 10:25:15.198 CST [4441] 调试:-------------------- -----------------------2023-12-27 10:25:15.198 CST [4441] 调试: XDG_SESSION_ID=122023-12-27 10:25: 15.198 CST [4441] 调试:主机名=localhost.localdomain2023-12-27 10:25:15.198 CST [4441] 调试:TERM=xterm2023-12-27 10:25:15.198 CST [4441] 调试:SHELL=/bin/ b ash2023 -12-27 10:25:15.198 CST [4441] 调试:HISTSIZE=10002023-12-27 10:25:15.198 CST [4441] 调试:PG_GRANDPARENT_PID=24602023-12-27 10:25:15。 198 CST [4441] 调试:用户 = test2023-12-27 10:25:15.198 CST [4441] 调试:LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40 ;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40 ;31;01:mi=01;05;37;41:su =37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44 :ex=01;32:*.tar=01;31:* .tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha =01;31:*.lz4=01;31:*.lzh= 01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01; 31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31 :*.lrz=01;31:*.lz=01;31: *.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:* .tbz=01;31:*.tbz2=01;31:*。 tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war =01;31:*.ear=01;31:*.sar= 01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01; 31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35 :*.gif=01;35:*.bmp=01;35: *.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:* .xbm=01;35:*.xpm=01;35:*。 tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz =01;35:*.mng=01;35:*.pcx= 01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01 ;35:*.mkv=01;35:*.webm=01; 35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35 :*.vob=01;35:*.qt=01;35: *.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*。 avi= 01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd= 01; 35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac =01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*. mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa= 01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:2023-12-27 10:25:15.198 CST [4441] 调试: PGPORT=50002023-12- 27 10:25:15.198 CST [4441] 调试:PGDATABASE=testdb2023-12-27 10:25:15.198 CST [4441] 调试:LIBDIR=/appdb/pg12/pg12.1/share/postgresql/extension2023-12 -27 10:25:15.198 CST [4441] 调试:路径=/appdb/pg12/pg12.1/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin :/home/test/.local/bin:/home/test/bin2023-12-27 10:25:15.198 CST [4441] 调试: MAIL=/var/spool/mail/test2023-12-27 10:25: 15.198 CST [4441] 调试:_=/appdb/pg12/pg12.1/bin/pg_ctl2023-12-27 10:25:15.198 CST [4441] 调试:PWD=/home/test2023-12-27 10:25: 15.198 CST [4441] 调试:LANG=en_US.UTF-82023-12-27 10:25:15.198 CST [4441] 调试:PGHOST =/var/run/test2023-12-27 10:25:15.198 CST [4441]调试:PGSYSCONFDIR=/appdb/pg12/pg12.1/etc/postgresql2023-12-27 10:25:15.198 CST [4441] 调试:HISTCONTROL=ignoredups2023-12-27 10:25:15.198 CST [4441] 调试:HOME=/主页/test2023-12-27 10:25:15.198 CST [4441] 调试: SLVL=12023-12-27 10: 25 :15.198 CST [4441] 调试: LOGNAME=test2023-12-27 10:25:15.198 CST [第4441章 调试: LESSOPEN=||/usr/bin/lesspipe.sh %s2023-12-27 10:25:15.198 CST [4441] 调试:PGDATA=/data/pgsql/tmpdb2023-12-27 10:25:15.198 CST [4441] 调试:LC_COLLATE=en_US.UTF-82023-12-27 10:25:15.198 CST [4441] 调试:LC_CTYPE=en_US.UTF-82023-12-27 10:25:15.198 CST [4441] 调试: LC_M ESSAGES=en_US .UTF-82023-12-27 10:25:15.198 CST [4441] 调试:LC_MONETARY=C2023-12-27 10:25:15.198 CST [4441] 调试:LC_NUMERIC=C2023-12-27 10: 25:15。 198 CST [4441] 调试:LC_TIME=C2023-12-27 10:25:15.198 CST [4441] 调试:------------------------ - ---------------2023-12-27 10:25:15.202 CST [4441] DEBUG: 注册后台工作程序“逻辑复制启动器”2023-12-27 10:25:15.202 CST [4441] 日志:s在 x86_64-pc-linux-gnu 上启动 PostgreSQL 12.1,由 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) 编译,64 位2023-12-27 10:25:15.202 CST [4441] 日志:侦听 IPv6 地址“::1”,端口 50002023-12-27 10:25:15.202 CST [4441] 日志:侦听 IPv4 地址“127.0.0.1”,端口 50002023-12-27 10:25:15.206 CST [ 4441]日志:监听 Unix 套接字“/var/run/test/.s.PGSQL.5000”2023-12-27 10:25: 15.208 CST [4441] 调试:调用 ipcmemoryCreate (SIZE = 149102592) 2023-12- 27 10:25:15.208 CST [4441] 调试:mmap (150994944) 和 map_hugetlb 失败,h. uge页面已禁用:无法分配内存2023-12-27 10:25:15.218 CST [4441]调试:SlruScanDirectory在pg_notify / 00002023-12-27 10:25:15.218 CST [4441]调试上调用回调:重新移动文件“pg_notify/” 0000"2023 -12-27 10:25:15.218 CST [4441] DEBUG: 动态共享内存系统将支持 308 个段2023-12-27 10:25:15.218 CST [4441] DEBUG: 创建动态共享内存控制段 123711 4017 ( 7408 字节)2023-12-27 10:25:15.219 CST[4441]调试:max_safe_fds = 983,usable_fds = 1000,already_open = 72023-12-27 10:25:15.219 CST [4441]日志:将日志输出重定向到日志记录收集器进程2023-12 -27 10:25:15.219 CST [4441 ] 提示:将来的日志输出将出现在目录“log”中。 doneserver started[test@localhost ~]$

可以看到,启动阶段输出了大量的DEBUG日志。
执行如下SQL:

[local:/var/run/test]:5000 test@testdb=# select * from tbl order by id limit 1;编号 | c1 ----+ ---- 1 | 1(1行)[local:/var/run/test]:5000 test@testdb=#

日志输出:

...2023-12-27 10:47 :24.850 CST [5763] 调试:StartTransaction(1) 名称:未命名;块状态:默认;状态:INPROGRESS,xid/subid/cid:0/1/0RELOPTINFO(tbl):行= 200002宽度= 6路径列表:SeqScan(tbl)行= 200002成本= 0.00..5540.02最便宜的参数化路径:SeqScan(tbl)行=200002 成本=0.00..5540.02最便宜的启动路径:SeqScan(tbl) rows=200002 成本=0.00..5540.02 最便宜的总路径:SeqScan(tbl) rows=200002 cost=0.00..5540.022023-12-27 10:47:24.853 CST [5747 ] DEBUG: 注册后台工作者“PID 5763的并行工作者”2023-12-27 10:47:24.853 CST [5747] DEBUG: 注册后台工人“PID 5763的并行工作人员”2023-12-27 10:47:24.853 CST [574 7]DEBUG:启动后台工作人员进程“PID 5763的并行工作人员”2023-12-27 10:47:24.853 CST [5747]调试:启动后台工作进程“PID 5763的并行工作人员”2023-12-27 10:47:24.8 54 CST [5783] 调试:InitPostgres2023-12-27 10:47:24.854 CST [5783] 调试:我的后端 ID 是42023-12-27 10:47:24.854 CST [5784] 调试:InitPostgres2023-12-27 10:47: 24.854 CST [5784] 调试:我的后端 ID 是 52023-12-27 10:47:24.854 CST [5783]调试:StartTransaction(1) 名称:未命名;块状态:默认;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:47:24.854 CST [5784] 调试:StartTransaction(1) 名称:未命名;块状态:默认;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:47 :24.878 CST [5783] 调试:CommitTransaction(1) 名称:未命名;块状态:已开始;状态:INPROGRESS,xid/subid/cid:0/1/02023-12-27 10:47:24.878 CST [5783] 调试:StartTransaction(1) 名称:未命名;块状态:默认;状态:INPROGRESS,xid/subid/cid:0/1/02023-12-27 10:47:24.879 CST [5784] DEBUG:CommitTransaction (1) 名称:未命名;块状态:已开始;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:47:24.879 CST [5784] 调试:StartTransaction(1) 名称:未命名;块状态:默认;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:47:24.913 CST [5783] 调试:CommitTransaction(1) 名称:未命名;块状态:已开始;状态:进行中,xid /subid/cid:0/1/02023-12-27 10:47:24.913 CST [5783] 调试:StartTransaction(1) 名称:未命名;块状态:默认;状态:进行中,xid/subid/cid:0/1 /02023-12-27 10:47:24.914 CST [5784] 调试:CommitTransaction(1) 名称:未命名;块状态:已开始;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:47 :24.914 CST [5784] 调试:StartTransaction(1) 名称:未命名;乙锁状态:默认;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:47:24.945 CST [5784] 调试:CommitTransaction(1) 名称:未命名;块状态:PARALLEL_INPROGRESS;状态:INPROGRESS,xid/subid/cid:0/1/02023-12-27 10:47:24.945 CST [5784]调试:shmem_exit(0):1 before_shmem_exit 回调到 make2023-12-27 10:47:24.945 CST [5784] 调试:shmem_exit(0):7 个 on_shmem_exit 回调到 make2023-12-27 10:47:24.945 CST [5784] 调试:proc_exit(0):2 个回调到 make2023-12-27 10:47:24.945 CST [ 5784] 调试:退出(0)2023-12-27 10:47:24.945 CST [5783] 调试:CommitTransaction(1) 名称:未命名;块状态:PARALLEL_INPROGRESS;状态:INPROGRESS,xid/subid/cid:0/1/02023-12-27 10:47:24.945 CST [5784]调试:shmem_exit(-1):0 before_shmem_exit回调到make2023-12-27 10:47:24.945 CST [5784] 调试:shmem_exit(-1):0 个 on_shmem_exit 回调到 make2023-12-27 10:47:24.945 CST [5784] 调试:proc_exit(-1):0 个回调到 make2023 -12-27 10:47: 24.945 CST [5783] 调试:shmem_exit(0):1 之前re_shmem_exit 回调到 make2023-12-27 10:47:24.945 CST [5783] 调试: shmem_exit(0): 7 on_shmem_exit 回调到 make2023-12-27 10:47:24.945 CST [5783] 调试: proc_exit(0): 2回调到 make2023-12-27 10:47:24.945 CST [578 3]DEBUG : exit(0)2023-12-27 10:47:24.945 CST [5783] DEBUG: shmem_exit(-1): 0 before_shmem_exit 回调到 make2023 -12-27 10:47:24.945 CST [5783] 调试:shmem_ exit(- 1): 0 on_shmem_exit 回调到 make2023-12-27 10:47:24.945 CST [5783] 调试:proc_exit(-1): 0 回调to make2023-12-27 10:47:24.946 CST [5747] DEBUG: 收获死进程2023-12-27 10:47:24.946 CST [5747] DEBUG: 取消注册后台工作者“PID 5763的并行工作者”2023-12-27 10:47:24.946 CST [5747] DEBUG:后台工作人员“并行工作人员”(PID 5784)退出,退出代码为 02023-12-27 10:47:24.947 CST [5747] DEBUG:收获死进程2023-12-27 10: 47:24.947 CST [5747] 调试:取消注册后台工作程序“PID 5763 的并行工作程序”2023-12-27 10:47:24.947 CST [5747]调试:后台工作程序“并行工作程序”(P ID 5783)退出,退出代码为 02023-12-27 10:47:24.947 CST [5763] 调试:CommitTransaction(1) 名称:未命名;块状态:已开始; state: INPROGRESS, xid/subid/cid: 0/1/0

执行插入&更新

[local:/var/run/test]:5000 test@testdb=# insert into tbl(id) 选择generate_series(1,100000);INSERT 0 100000[本地:/var/run/test]:5000 test@testdb=# update tbl set id = 4;UPDATE 500002[本地:/var/run/test ]:5000 test@testdb=#

日志输出

2023-12-27 10:49:08.917 CST [5763] DEBUG: StartTransaction(1) name: unnamed;块状态:默认;状态:INPROGRESS,xid/subid/cid:0/1/0RELOPTINFO(* SELECT *):行= 100000宽度= 4路径列表:SubqueryScan(* SELECT *)行= 100000成本= 0.00..1500.02最便宜的参数化路径:SubqueryScan (*SELECT*) rows=100000 cost=0.00..1500.02 最便宜的启动路径: SubqueryScan(*SELECT*) rows=100000 cost=0.00..1500.02 最便宜的总路径: SubqueryScan(*SELECT*) rows=100000 cost =0.00。 .1500.022023-12-27 10:49:09.123 CST [5763] 调试:CommitTransaction(1) 名称:未命名;块状态:已开始;状态:INPROGRESS,xid/subid/cid:503/1/0(已使用)2023-12-27 10:49:20.592 CST [5751] DEBUG:0+0 正在运行的事务 id 的快照(lsn 0/A63FC00 最旧的 xid 504最新完成 503 下一个 xid 504)2023-12-27 10:49:24.401 CST [57 63]DEBUG : StartTransaction(1) 名称: 未命名;块状态:默认;状态:INPROGRESS,xid/subid/cid:0/1/0RELOPTINFO(tbl):行= 400002宽度= 44路径列表:SeqScan(tbl)行= 400002成本= 0.00..7540.02最便宜的参数化路径:SeqScan(tbl)行=400002 成本=0.00..7540.02 最便宜的启动路径:SeqScan(tbl) rows=400002 成本=0.00..7540.02 最便宜的总路径:SeqScan(tbl) rows=400002 成本=0.00..7540.022023-12-27 10:49: 26.477 CST [5763] 调试:CommitTransaction(1) 名称:未命名;块状态:已开始;状态:INPROGRESS,xid/subid/cid:504/1/0(已使用)2023-12-27 10:49:37.140 CST [5751] DEBUG:0+0 正在运行的事务 id 的快照(lsn 0/EF68250 最旧的 xid 505最新版ete 504 next xid 505)

Autovacuum的日志输出

2023-12-27 10:49:58.619 CST [5755] DEBUG: StartTransaction (1) name: unnamed;块状态:默认;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:49:58.619 CST [5755] 调试:CommitTransaction(1) 名称:未命名;块状态:已开始;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:49:58.649 CST [5753] 调试:StartTransaction(1) 名称:未命名;块状态:默认;状态:进行中,xid/subid/cid:0/1/02023-12-27 10:49:58.649 CST [5753] 调试:CommitTransaction(1) 名称:未命名%e                                            
1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何使用PostgreSQL日志相关配置参数log_XXX

用户评论