zoukankan      html  css  js  c++  java
  • 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;
  • 相关阅读:
    杭电acm1517
    杭电acm1228
    杭电acm1859
    杭电acm1124
    杭电acm1327
    CPP Templates 之 template 关键字的用法技巧
    malloc与calloc区别
    CPP Templates 之 类模板的继承
    CPP Templates 之 模板演绎的注意事项
    CPP Templates 之 局部类模板特化
  • 原文地址:https://www.cnblogs.com/jonney-wang/p/9238923.html
Copyright © 2011-2022 走看看