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

PostgreSQL (八) 创建分区

1.创建主表

CREATE TABLE main_table (
    id              bigserial NOT NULL,
    content         text,
    create_date     date NOT NULL
) PARTITION BY RANGE (create_date);

2.创建分区

按年进行分区

CREATE TABLE partition_2024 PARTITION OF main_table
FOR VALUES FROM ('2024-01-01') TO ('2025-01-01');

CREATE TABLE partition_2025 PARTITION OF main_table
FOR VALUES FROM ('2025-01-01') TO ('2026-01-01');

3.插入数据

insert into main_table values('test1', '2024-01-04');

insert into main_table values('test2', '2024-06-12');

insert into main_table values('test3', '2025-01-27');

insert into main_table values('test4', '2025-09-01');

4.查询数据

select * from main_table where create_date > '2024-10-20'

5.报错问题

insert into main_table values('test1', '2023-01-04');

报错信息:“main_table” found for row 详细:Partition key of the failing row contains (create_date) = (2023-01-04).
说明:因为按照日期(2023-01-04),没有创建2023年的分区导致报错,如果在实际项目中,需要创建job对分区进行新增和删除。


http://www.kler.cn/a/383686.html

相关文章:

  • C语言从入门到放弃教程
  • STM32-笔记11-手写带操作系统的延时函数
  • ubuntu安装sublime安装与免费使用
  • 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
  • 如何在 Ubuntu 22.04 上安装以及使用 MongoDB
  • Scala_【1】概述
  • 如何选择适合CMS运行的服务器?
  • MySQL 8.0在windows环境安装及配置
  • STM32项目---水质水位检测
  • nuPlan最新SOTA,香港科技大学发布基于学习决策范围内的规划PlanScope
  • Java 网络编程(一)—— UDP数据报套接字编程
  • mysql数据同步到sql server
  • SpringBoot在线教育系统:云部署策略
  • 4.3 Linux的中断处理流程
  • 网络安全:数字时代的防护盾
  • Linux系统编程学习 NO.10——进程的概念(1)
  • Linux,shell基础,变量,数值运算
  • 矩阵论 •「线性变换」
  • Linux系列-进程的状态
  • 动态规划理论基础和习题【力扣】【算法学习day.25】
  • apache poi 实现下拉框联动校验
  • MySQL表转移数据的三种方式
  • 【Python进阶】Python中的网络爬虫策略:高效数据抓取与解析
  • 数据库优化指南:如何将基本功能运用到极致?
  • Qt(程序打包)
  • ubuntu 异常 断电 日志 查看