目录
一、前言
本文记录一些postgresql中分区表的一些操作,包括但不限于创建分区表、删除分区、新增分区、清除分区数据等。关于postgresql的安装操作详见:linux中单节点安装postgresql数据库 博客文章内容。
二、版本详情
postgresql version:6.13.0
python version:2.7.13
二、创建分区表
-- 范围性创建分区示例
-- 指定创建分区表名称为t_partition_table 指定分区字段为data_bsn_dt
-- 并创建一个名称为p_20210701的分区,此分区数据范围为2021-07-01
create table tfdd.t_partition_table(
id varchar(32)
,name varchar(32)
,data_bsn_dt date
)
with (appendonly=true, compresslevel=5)
distributed by (id)
partition by range(data_bsn_dt)
(
partition p_20210701 start ('2021-07-01'::date) inclusive end ('2021-07-02'::date) exclusive every ('1 day'::interval)
);
三、新增分区
对于一个分区表,我们后续可能会频繁需要新增分区来满足业务需要。所以在通常项目会使用shell脚本执行psql命令,并配合crontab定时执行,用以满足每日按天分区的业务需求(本文案例业务背景是这样的)。
3.1、新增分区
-- 新增分区,分区名称为p_20210702
-- inclusive