postgresql数据库日志量异常原因排查

问题:

postgresql数据库 库不大 但每日产生日志量15GB左右
分析:

1 导入日志查看是否有异常高频日志

复制代码
select to_char(t.log_time,'YYYY-MM-DD HH24:MI') as minutes,
 sum ((t.error_severity='LOG')::int) as LOG,
 sum ((t.error_severity='ERROR')::int) as ERROR,
 sum ((t.error_severity='FATAL')::int) as FATAL,
 sum ((t.error_severity is null)::int) as OTHER,
 count(1)
from  bak.postgres_log t
group by to_char(t.log_time,'YYYY-MM-DD HH24:MI')
order by count(1) desc; 

查询后发现除了高峰期之外,数据库连接频率基本稳定 每分钟不到1000个

2 大致浏览日志,查看是否有异常大的字段

发现有异常sql存放的字段很大

在数据库中进一步确认

复制代码
SELECT
  id,
  pg_column_size(context) AS 字节大小,
  pg_column_size(context)/1024 AS KB大小,
   pg_column_size(context)/1024/1024 AS MB大小
FROM test
order by 字节大小 desc

在日志里进一步匹配该sql关键字

复制代码
cat 2026-03-31_000000.csv | grep -i -a test | grep -i "context" | wc -l

分析后发现,异常sql更新字段会把传参一个大约在数据库中存储近10MB的参数
处理方案:

把图片存到文件中 只给数据库存url地址

相关推荐
海南java第二人14 小时前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
曹牧15 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱15 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
zuYM4g7Dp16 小时前
NoSql数据库设计心得
数据库·nosql
睡不醒男孩03082317 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love18 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob18 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q19 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发19 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
数据库小学妹19 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai