当前位置: 首页 > news >正文

pgsql14自动创建表分区

最近有pgsql的分区表功能需求,没想到都2025年了,pgsql和mysql还是没有自身支持自动创建分区表的功能

现在pgsql数据库层面还是只能用老三样的办法来处理这个问题,每个方法各有优劣

1. 触发器
这是最传统的方法,通过创建一个触发器来检查数据并创建新分区

缺点是每次插入数据都会执行触发器,当数据量大时可能影响性能,现在基本很少用这个方案在生产环境上操作

2. pg_partman
PostgreSQL的一个扩展,专门用于自动管理分区表,个人使用这种方案比较多,而且比较简单,使用方法如下:

#安装好扩展后在配置文件中启用插件,添加以下内容后重启数据库
#postgresql.conf
shared_preload_libraries = 'pg_partman_bgw' 
pg_partman_bgw.interval = 3600    # pg_partman将每小时自动执行一次分区维护任务
pg_partman_bgw.role = 'username'
pg_partman_bgw.dbname = 'dbname'#进入数据库启用插件
CREATE EXTENSION pg_partman;#设置分区管理
SELECT partman.create_parent('public.a',         -- 父表表名'xxx_date',         -- 分区字段'month',            -- 分区类型(按月)1,                  -- 预创建分区数量p_premake := 3      -- 提前创建3个分区
);

3. pg_cron
编写一个自定义脚本,并通过pg_cron扩展定期执行,检查是否有分区,没有则创建。
其实这个方法对性能也没有什么影响,但是需要编写脚本和执行定时任务,

http://www.xdnf.cn/news/469747.html

相关文章:

  • SpringBoot 自动装配流程
  • [Java实战]Spring Boot 3实现 RBAC 权限控制(二十五)
  • SpringBoot项目使用POI-TL动态生成Word文档
  • 去年开发一款鸿蒙Next Os的window工具箱
  • 软考软件评测师——软件工程之系统维护
  • ADS1220高精度ADC(TI)——应用 源码
  • 采用sherpa-onnx 实现 ios语音唤起的调研
  • 每周靶点:NY-ESO-1、GPC3、IL27分享
  • Linux操作
  • Oracle APEX IR报表列宽调整
  • [ctfshow web入门] web75
  • 运维实施30-FTP服务
  • 欧拉计划 Project Euler 73(分数有范围计数)题解
  • ABP User Interface-Angular UI中文详解
  • Loki的部署搭建
  • JS手写代码篇---手写 Object.create
  • 哈夫曼树完全解析:从原理到应用
  • 接口测试知识详解
  • 亚马逊运营中评论体系构建与高效索评策略解析!
  • 4寸工业三防手持机PDA,助力仓储高效管理
  • 【在qiankun模式下el-dropdown点击,浏览器报Failed to execute ‘getComputedStyle‘ on ‘Window‘: parameter 1 is not o
  • 亚马逊,temu测评采购低成本养号策略:如何用一台设备安全批量管理买家账号
  • 英语学习笔记
  • 移动端网络调试全流程:从常见抓包工具到Sniffmaster 的实战体验
  • Web》》url 参数 # 、 ? 、@
  • manuskript开源程序是面向作家的开源工具
  • Cursor vs VS Code vs Zed
  • deepseek讲解如何快速解决内存泄露,内存溢出问题
  • 拉取sset docker镜像
  • 经典卷积神经网络