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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM