瀚高数据库运行日志(错误日志)查看与分析方法

文章目录

文档用途

本文档讲解瀚高数据库运行日志配置、csv 日志字段解读、日志过滤实操以及典型故障日志案例,用于指导运维人员通过数据库日志完成故障定位、问题排查,支撑数据库日常运维与故障处置工作。

详细信息

1、数据库常见日志配置信息

说明:logging_collector=on才会输出磁盘 csv/log 日志,该参数修改需要重启数据库;

表格

参数 说明
log_directory 日志目录;以/开头为绝对路径;相对路径则拼接data_directory得到完整路径
log_destination 日志输出目标,常用csvlog,结构化日志便于检索分析
log_filename 日志文件名模板,%d 代表月份中的日期(几号),示例:highgodb-%d.log
log_rotation_age 按时间轮转,1d代表每日切割生成新日志文件
log_rotation_size 按文件大小轮转,单位 KB;0代表关闭按大小切割,仅依靠时间轮转
log_statement 有效的值包括 none (关闭)、 ddl 、 mod 和 all (记录所有语句)。 ddl 会记录所有数据定义语句,例如 CREATE 、 ALTER 和 DROP 语句。mod 会记录所有 ddl 语句,以及像 INSERT 、 UPDATE 、 DELETE 、 TRUNCATE 和 COPY FROM 这样的数据修改语句。

log_min_duration_statement 慢 SQL 阈值,单位 ms;执行耗时大于等于该值则记录 SQL,用于定位慢查询

sql 复制代码
--查看配置示例
highgo=# show logging_collector;
highgo=# show log_statement;
highgo=# show log_min_duration_statement;

2 、日志文件解读

例如:分析如下错误片段

复制代码
2026-09-03 00:00:01.571 CST,"u_itopo","ncc",3056293,"10.1.1.1:54002",6a984801.2ea2a5,1,"authentication",2026-09-03 00:00:01 CST,878/7068193,0,FATAL,28P01,"password authentication failed for user ""u_itopo""","Connection matched pg_hba.conf line 92: ""host    all             all             0.0.0.0/0              md5""",,,,,,,,""
字段 提取内容 解读说明
log_time 2026-09-03 00:00:01.571 CST 日志发生时间,精确到毫秒,时区 CST 东八区
user_name u_itopo 尝试登录的数据库用户名
database_name ncc 目标要连接的数据库名
process_id 3056293 本次连接的后端进程 PID,可配合操作系统 ps 命令核查进程
connection_from 10.1.1.1:54002 客户端来源 IP + 客户端随机端口,定位业务主机
session_id 6a984801.2ea2a5 会话全局唯一 ID,整条连接生命周期所有日志共用该 session_id,可以筛选该会话全部日志
1 会话行号:该会话内第几条日志记录
authentication 日志上下文标签,代表当前处于身份认证阶段
2026-09-03 00:00:01 CST 会话建立时间戳
878/7068193 事务 ID / 虚拟事务信息,此处登录失败尚未开启事务
0 子进程内部计数
error_severity FATAL 日志严重级别:FATAL,会话直接断开,连接失败;不会继续执行任何 SQL
28P01 SQLSTATE 标准错误码,28P01= 密码认证失败
message password authentication failed for user "u_itopo" 日志主体:用户密码校验失败
附加消息 Connection matched pg_hba.conf line 92: "host all all 0.0.0.0/0 md5" 关键排错信息:客户端匹配上 pg_hba.conf 第 92 行规则,访问策略是md5密码认证;不是 IP 拒绝,是密码不对
故障结论

1、客户端10.1.1.1使用账号u_itopo尝试连接数据库ncc;

2、IP 地址放行(pg_hba 允许访问),但是输入的数据库密码错误,连接直接被拒绝;

3、级别 FATAL:会话直接终止,不会产生后续 SQL 执行;

4、错误码:28P01,标准账号密码认证失败。

3 、过滤错误日志信息

grep -in + 关键字 + 文件名称 定位哪些文件哪一行包含关键字信息;

-in参数说明:-i 忽略大小写。-n 输出文件匹配行的行号

例如查找1到9号,包含error关键字的文件及对应行数

复制代码
[highgo@localhost hgdb_log]$ grep -in error highgodb-0*
highgodb-06.csv:40:2026-09-06 21:45:29.905 EDT,,,60104,,6a9e16e8.eac8,14,,2026-09-06 21:44:08 EDT,,0,LOG,F0000,"configuration file ""/data/highgo/HighGo/v9/data/postgresql.auto.conf"" contains errors; unaffected changes were applied",,,,,,,,,"","postmaster",,0
highgodb-06.csv:81:2026-09-06 21:51:44.193 EDT,,,60394,,6a9e183e.ebea,13,,2026-09-06 21:49:50 EDT,,0,LOG,F0000,"configuration file ""/data/highgo/HighGo/v9/data/postgresql.auto.conf"" contains errors; unaffected changes were applied",,,,,,,,,"","postmaster",,0

4、找到问题源头才是定位问题的关键

例如:下文日志输出了大量的terminating和recovery报错,还有干扰信息password authentication failed,实际导致数据库异常是signal 11后边对应的sql语句

复制代码
2026-09-03 22:18:05.256 CST,"u_itopo","ncc",4077899,"10.1.1.1:27536",6a99819d.3e394b,1,"authentication",2026-09-03 22:18:05 CST,891/8872622,0,FATAL,28P01,"password authentication failed for user ""u_itopo""","Connection matched pg_hba.conf line 92: ""host    all             all             0.0.0.0/0              md5""",,,,,,,,""
2026-09-03 22:18:05.724 CST,,,3496822,,68fee0bb.355b76,86138,,2025-10-27 11:02:19 CST,,0,LOG,00000,"server process (PID 3929424) was terminated by signal 11","Failed process was running: select to_number(a.int_id),a.zh_label,'SYSTEM',sysdate,sysdate,0,20,^M
                to_number(260903130060003614),9505,to_number(a.int_id),a.city_id,a.county_id,'SYSTEM-YDM'^M
                ^M
                from gisss_wsdx.ALLAD_STRDFUCT_PDF  a,^M
                gisss_wsdx.ALL_BUSINDAFASDFESSAREA t2^M
                where a.city_id=1791 and a.county_id=1823 and a.stateflag=0 AND a.TYPECODE =9505^M
                and not exists (select 1 from RMS_TRANSO_NETGRIDRESOURCE b where a.typecode=b.resource_type^M
                and b.resource_id=to_number(a.int_id) and b.stateflag=0)^M
                AND t2.INT_ID =a.INT_ID  AND t2.INT_ID ='260903130060003614'^M
                AND public.st_intersects(a.shape,t2.shape)^M
        AND public.st_contains(a.shape,t2.shape)",,,,,,,,""
2026-09-03 22:18:05.724 CST,,,3496822,,68fee0bb.355b76,86139,,2025-10-27 11:02:19 CST,,0,LOG,00000,"terminating any other active server processes",,,,,,,,,""
2026-09-03 22:18:05.724 CST,"vc_gs","ncc",4077854,"10.1.1.1:34358",6a998198.3e391e,1,"idle",2026-09-03 22:18:00 CST,570/0,0,WARNING,57P02,"terminating connection because of crash of another server process","The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.","In a moment you should be able to reconnect to the database and repeat your command.",,,,,,,"PostgreSQL JDBC Driver"
2026-09-03 22:18:08.528 CST,"vc_gs","ncc",4077993,"10.1.1.1:30392",6a9981a0.3e39a9,1,"",2026-09-03 22:18:08 CST,,0,FATAL,57P03,"the database system is in recovery mode",,,,,,,,,""
2026-09-03 22:18:05.821 CST,"vc_gs","ncc",4055465,"10.1.1.1:44212",6a997838.3de1a9,1,"idle",2026-09-03 21:38:00 CST,1114/0,0,WARNING,57P02,"terminating connection because of crash of another server process","The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.","In a moment you should be able to reconnect to the database and repeat your command.",,,,,,,"PostgreSQL JDBC Driver"
2026-09-03 22:18:08.544 CST,"vc_gs","ncc",4077995,"10.1.1.1:46302",6a9981a0.3e39ab,1,"",2026-09-03 22:18:08 CST,,0,FATAL,57P03,"the database system is in recovery mode",,,,,,,,,""
2026-09-03 22:18:08.556 CST,"vc_gs","ncc",4077996,"10.1.1.1:46304",6a9981a0.3e39ac,1,"",2026-09-03 22:18:08 CST,,0,FATAL,57P03,"the database system is in recovery mode",,,,,,,,,""

5、日志严重级别标识

日志级别 含义
DEBUG 调试信息,默认一般不开启
LOG 普通运行日志,数据库常规事件记录
NOTICE 提示信息
WARNING 警告信息,非阻断类异常提示
ERROR SQL执行层面错误,单条SQL失败,数据库服务正常运行
FATAL 会话级致命错误,单个会话断开,不影响整体实例
PANIC 实例级严重故障,会导致数据库实例整体关闭、崩溃

日常排查重点关注:ERROR、FATAL、PANIC级别日志。

6 、日志查看注意事项

不要直接rm删除正在写入的日志文件:如果需要清理正在写入的日志,不能直接rm删除文件,删除后数据库进程仍然持有旧文件句柄,磁盘空间不会释放,新日志也不会写入新文件;

日志文件权限归属:若日志文件属主为操作系统highgo用户,不要随意修改日志文件属主与权限,避免数据库无法写入日志;

收集问题日志:携带报错前后上下文日志,不要只截取单条报错行,上下文信息有助于完整分析事件链路。

相关文档

相关推荐
snow@li1 小时前
PostgreSQL:PostgreSQL(PG)全景深度梳理
数据库·postgresql
java_nnnn1 小时前
Spring IoC & DI 从入门到理解:控制反转、依赖注入与 Bean 管理详解
数据库·sql·spring
瀚高PG实验室2 小时前
HGHAC集群版本升级
数据库·postgresql·瀚高数据库
品牌常新2 小时前
室外巡检机器人推荐:园区与厂区怎么选
数据库·人工智能·机器人
snow@li2 小时前
redis:RedisDesktopManager(RDM/RESP.app)Redis 数据可视化全景深度梳理
数据库·redis·缓存
lqbzlll2 小时前
MySQL 慢查询日志开了但看不懂?从 slow_query_log 到 EXPLAIN ANALYZE 一步步定位
数据库·mysql·adb
code_slave(码畜)2 小时前
微服务架构落地:慢 SQL 治理与连接池调优 —— 守住数据库的最后一道防线
数据库·spring boot·sql·spring cloud·微服务·架构
IvorySQL3 小时前
PostgreSQL 日报|子表 CHECK 约束恢复标记错误(11 月 2 日)
数据库·postgresql