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并不高。

相关推荐
张哈大2 小时前
【 Redis | 实战篇 秒杀实现 】
数据库·redis·缓存
weixin_472339462 小时前
Postgresql与openguass对比
数据库·postgresql
惊起白鸽4507 小时前
MySQL全量,增量备份与恢复
数据库·mysql
暮雨疏桐8 小时前
MySQL SQL Mode及其说明
数据库·sql·mysql·sql mode
Tangcan-8 小时前
【MySQL】数据库基础
数据库·mysql
蔡蓝8 小时前
Mysql的索引,慢查询和数据库表的设计以及乐观锁和悲观锁
数据库·mysql
jstart千语8 小时前
【Redis】分布式锁的实现
数据库·redis·分布式
一把年纪学编程10 小时前
【牛马技巧】word统计每一段的字数接近“字数统计”
前端·数据库·word
极小狐10 小时前
极狐GitLab 通用软件包存储库功能介绍
java·数据库·c#·gitlab·maven
钢铁男儿10 小时前
C# 方法(可选参数)
数据库·mysql·c#