postgress 按月分表存储

本文介绍了一种使用PostgreSQL进行按月分表存储的方法,旨在提高查询效率和管理大量数据。通过示例展示了如何更新特定月份表中的manu_id。
摘要由CSDN通过智能技术生成
-- 全局ID
CREATE SEQUENCE serial_id_seq1 
  INCREMENT 1  
  MINVALUE 1  
  MAXVALUE 9223372036854775807  
  START 1  
  CACHE 1;  
ALTER TABLE serial_id_seq  
  OWNER TO tewoo_trade;  
  
  
  
--------------------------------------------------------------------------------------------------------------  
-- 爷爷表
  CREATE TABLE base_table  
(  
  id bigint NOT NULL,  
  dvalue double precision,  
  sample_time timestamp with time zone,  
  machine_code character varying(32),  
  CONSTRAINT pk_base_table_id PRIMARY KEY (id )  
)  
WITH (  
  OIDS=FALSE  
);  
ALTER TABLE base_table  
  OWNER TO tewoo_trade;  
  
CREATE INDEX idx_sample_time  
  ON base_table  
  USING btree  
  (sample_time );  
-------------------------------------------------------------------------------------------------------------------
-- 父亲表 1
CREATE TABLE base_table_machine1  
(  
  max_res integer,  
  curr_res integer,  
  CONSTRAINT pk_base_table_machine1 PRIMARY KEY (id )  
)  
INHERITS (base_table)  
WITH (  
  OIDS=FALSE  
);  
ALTER TABLE base_table_machine1  
  OWNER TO tewoo_trade;  
  
  
CREATE INDEX idx_base_table_machine1_sample_time  
  ON base_table_machine1  
  USING btree  
  (sample_time );  
  
  
----------------------------------------------------------------------------------------------------------------
-- 父亲表 2
CREATE TABLE base_table_machine2  
(  
  manu_id character varying(16),  
  manu_value character varying(16),  
  CONSTRAINT pk_base_table_machine2 PRIMARY KEY (id )  
)  
INHERITS (base_table)  
WITH (  
  OIDS=FALSE  
);  
ALTER TABLE base_table_machine2  
  OWNER TO tewoo_trade;  
  
CREATE INDEX idx_base_table_machine2_sample_time  
  ON base_table_machine2  
  USING btree  
  (sample_time );    
  
----------------------------------------------------DBever执行报错  workbench成功执行--------------------------------------------------------------------
-- Function: on_insert_base_table_machine1() 触发器函数名称:on_insert_base_table_machine1()
-- PostgreSQL中触发器使用的一般步骤是: 先创建一个触发器时调用的函数,该函数没有参数,返回为trigger关键字,
-- 然后再创建触发器,指定触发器事件发生时调用那个函数。
-- 在触发器中有两种对象:NEW和OLD(对于 INSERT 和 UPDATE 触发器而言,是 NEW 行, 对于 DELETE 触发器而言,是 OLD 行)


-- DROP FUNCTION on_insert_base_table_machine1();
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值