PostgreSQL 分区表,操作性相当便捷。

PostgreSQL PARTITION 分区表

PostgreSQL 分区表,操作性相当便捷。

但只能在创建时决定是否为分区表,并决定分区条件字段,普通表创建后,不能在修改为分区表。

Note:通过其他方法也可转化为分区表。

和其他数据库一样,分区表作为一个DB的特性,优点自不用说,物理分散,逻辑统一。

必须要注意的一个缺点是:分区表不允许其他表作为外键引用。只能在真实场景业务逻辑上当作外键,设计时论场景再推敲。

同时,在Pg 11以前只能单独为每个分区表建立索引等,且不能在【母表】上建立主键、索引等。

Pg 11以后可以针对“逻辑”分区表(母表)建立索引,分区子表自动创建。

简单Sql:

复制代码

 1 --DROP TABLE dbo.table01;
 2 
 3 CREATE TABLE dbo.table01 (
 4   id        bigserial NOT NULL,
 5   cre_time  timestamp without time zone,
 6   note      varchar(30)
 7 ) PARTITION BY RANGE (cre_time)
 8   WITH (
 9     OIDS = FALSE
10   );
11 
12 CREATE TABLE dbo.table01_2018
13   PARTITION OF dbo.table01
14   FOR VALUES FROM ('2018-01-01 00:00:00') TO ('2019-01-01 00:00:00');
15 
16 CREATE TABLE dbo.table01_2017
17   PARTITION OF dbo.table01
18   FOR VALUES FROM ('2017-01-01 00:00:00') TO ('2018-01-01 00:00:00');
19 
20 ALTER TABLE dbo.table01
21   OWNER TO postgres;

复制代码

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值