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地址

相关推荐
qq_342295822 小时前
CSS如何制作点击展开时的手风琴动画_平滑过渡max-height高度
jvm·数据库·python
Lucifer三思而后行2 小时前
zCloud 纳管 MySQL 8.4 数据库
数据库·mysql·oracle
我是菜菜呀呃2 小时前
达梦数据库日常运维SQL和问题排查
数据库
m0_748920363 小时前
Golang goquery怎么解析HTML_Golang goquery教程【核心】
jvm·数据库·python
m0_746752303 小时前
golang如何编写Markdown转HTML工具_golang Markdown转HTML工具编写详解
jvm·数据库·python
weixin_424999363 小时前
C#怎么使用TopLevel顶级语句 C#顶级语句怎么写如何省略Main方法简化控制台程序【语法】
jvm·数据库·python
qq_372154233 小时前
如何利用Bootstrap的Flex工具类快速排版
jvm·数据库·python
qq_654366983 小时前
golang如何实现菜单权限动态加载_golang菜单权限动态加载实现详解
jvm·数据库·python
arronKler4 小时前
大数据量高并发的数据库优化
服务器·数据库·oracle
祖传F874 小时前
SQL DATE()函数会抹去时间戳
数据库·sql