postgres的分表

CREATE TABLE audit.A_audit_1 ( CHECK (end_rev_time > '2013-09-04 17:30:08.942' or end_rev_time is null) ) INHERITS (audit.A_audit);

CREATE TABLE audit.A_audit_2 ( CHECK (end_rev_time <= '2013-09-04 17:30:08.942') ) INHERITS (audit.A_audit);




CREATE INDEX action_audit_A_1 ON audit.A_audit_1 USING btree (end_rev_time);

CREATE INDEX action_audit_A_2 ON audit.A_audit_2 USING btree (end_rev_time);





--- Trigger function


CREATE OR REPLACE FUNCTION on_action_log_insert() 
RETURNS TRIGGER AS $$

BEGIN
 IF ( NEW.end_rev_time > '2013-09-04 17:30:08.942' or NEW.end_rev_time is null) 
		THEN
        
			INSERT INTO audit.A_audit_1 VALUES (NEW.*);
 
	ELSE
	INSERT INTO audit.A_audit_2 VALUES (NEW.*);
 
	 END IF;
 RETURN NULL;
END;

$$ LANGUAGE plpgsql;





--- Attach trigger function to table

CREATE TRIGGER action_log_insert
    
BEFORE INSERT ON audit.A_audit
    
FOR EACH ROW EXECUTE PROCEDURE on_action_log_insert();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值