正文

Postgresql表分区2011-10-24 16:17:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lovebugs/52887.html

分享到:

1,  创建分区表

create table partitioned

(

       dt date,

       a int

);

 

2,  创建分区表

create table p20090101 (

check(dt >= DATE ‘ 2009-01-01’ AND dt < DATE ‘2009-01-02’)

) inherits(partitioned);

 

create table p20090102 (

check(dt >= DATE ‘2009-01-02’ AND dt < DATE ‘2009-01-03’)

) inherits(partitioned);

 

 

3,  创建规则

CREATE OR REPLACE RULE partitioned_p20090101 AS
ON INSERT TO partitioned WHERE
      (dt >= DATE ‘2009-01-01’ AND dt < DATE ‘2009-01-02’)

DO INSTEAD
         INSERT INTO p20090101 VALUES (NEW.dt,

NEW.a );

 

CREATE OR REPLACE RULE partitioned_p20090102 AS
ON INSERT TO partitioned WHERE
      (dt >= DATE ‘2009-01-02’ AND logdate < DATE ‘2009-01-03’)

DO INSTEAD
         INSERT INTO p20090102 VALUES (NEW.dt,

NEW.a )

 

4,  打开分区消除

SET constraint_exclusion = on;

阅读(1782) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册