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

相关推荐
IT 小阿姨(数据库)7 分钟前
PostgreSQL通过pg_basebackup物理备份搭建流复制备库(Streaming Replication Standby)
运维·服务器·数据库·sql·postgresql·centos
小蒜学长35 分钟前
springboot基于javaweb的小零食销售系统的设计与实现(代码+数据库+LW)
java·开发语言·数据库·spring boot·后端
云边有个稻草人1 小时前
从内核调优到集群部署:基于Linux环境下KingbaseES数据库安装指南
linux·数据库·金仓数据库管理系统
EnCi Zheng1 小时前
JPA 连接 PostgreSQL 数据库完全指南
java·数据库·spring boot·后端·postgresql
Raymond运维1 小时前
MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)
linux·数据库·mysql
他们叫我技术总监2 小时前
Oracle数据库常见问题实战:从连接错误到自动清理空闲会话
数据库·oracle
菲兹园长4 小时前
MySql(SQL)
数据库·sql·mysql
一只小bit5 小时前
MySQL表的操作:创建—修改—删除流程解析
数据库·mysql·oracle
做运维的阿瑞5 小时前
PostgreSQL 从入门到精通:Windows 环境下安装与使用指南
数据库·windows·postgresql
学编程的小鬼5 小时前
MySQL的快速入门
数据库·mysql