postgresql分区表相关问题处理

1.使用pg_cron按日创建分区表,会出现所在数据库对应用户权限不足的问题。

原因是pg_cron运行在postgres数据库中,是用superuser进行执行的,对应的分区表的owner为postgres,所以需要单独授权对表的所有操作权限。不知道直接改变owner能不能实现,需要测试验证一下。

2.对应分区表查询时只根据id不加分区键造成的cpu高占用问题。

在频繁进行插入更新时,会造成大量cpu的占用,但看io并不高。

优化前16核cpu占用率基本在75%以上,io 2M/S左右,可能更低。

优化后效果,16核cpu占用率在0.9%左右,io基本在10M/s .

实际经验告诉我们要用好分区表,必须查询的时候要带上分区键。

我现在综合想了一下,为啥分区表没有用上分区键导致cpu高,而io不高的原因。 1. pg16分区表充分利用了并行扫描机制,所以各个cpu很高;2.数据库有缓存以及操作系统有足够的缓存,所以大部分数据可以从内存或者操作系统的缓存里面去取,最终到达磁盘的io并不高。

相关推荐
点云SLAM2 小时前
BOOS库中Graph模块boost::edge_reverse_t和boost::vertex_color_t解读
数据库·edge·图论·bfs·dfs/拓扑排序·boost库、
尽兴-2 小时前
《深入剖析:全面理解 MySQL 的架构设计》
数据库·mysql·数据库架构设计·理解mysql架构
在风中的意志2 小时前
[数据库SQL] [leetcode] 2388. 将表中的空值更改为前一个值
数据库·sql·leetcode
梦幻通灵3 小时前
Mysql字段判空实用技巧
android·数据库·mysql
酸菜牛肉汤面4 小时前
23、varchar与char的区别
数据库
AI题库4 小时前
PostgreSQL 18 从新手到大师:实战指南 - 2.5 Serverless PostgreSQL
数据库·postgresql·serverless
IT技术分享社区5 小时前
数据库实战:MySQL多表更新JOIN操作的底层原理与性能调优指南
数据库·mysql·程序员
廋到被风吹走5 小时前
【数据库】【Oracle】分区表与大表设计
数据库·oracle
UrSpecial5 小时前
InnoDB存储引擎
数据库·mysql
gjc5926 小时前
MySQL隐蔽 BUG:组合条件查询无故返回空集?深度排查与规避方案
android·数据库·mysql·bug