分表子查询_Postgres之分表总结

本文介绍了Postgres数据库中特有的表继承特性,用于支持分表操作。通过表继承,子表可以继承父表的字段、非空约束等,但不继承主键和外键约束。一个子表能继承多个父表,字段名和类型需一致。查询时,父表查询会包含子表数据,而子表查询则不会。文章还提到了创建分表的函数和触发器,以及如何利用这些功能实现按日期分表,并且在查询时自动合并子表数据。
摘要由CSDN通过智能技术生成

1、postgres特有支持表的继承特性,会将父表中的字段继承过来,也会继承非空、默认和约束,不会继承父表中的主键、外键、唯一约束。

一个字表可以继承多个父表,字段名称相同的话必须类型一致,否则会报错。

父表的查询会查出子表的数据,子表的查询不会查出父表的数据,这样的特性很好的支持分表。

图书馆过人记录表

255682c5dfeb6d48d042b1bfe74227d7.png

父表结构,创建函数

CREATE OR REPLACE FUNCTION "public"."auto_insert_into_enter_library_details2"()
  RETURNS "pg_catalog"."trigger" AS $BODY$
DECLARE
    time_column_name 	text ;			-- 父表中用于分区的时间字段的名称[必须首先初始化!!]
    curMM 		varchar(8);		-- 'YYYYMM'字串,用做分区子表的后缀
    isExist 		boolean;		-- 分区子表,是否已存在
    startTime 		text;
    endTime		text;
    strSQL  		text;

BEGIN
    -- 调用前,必须首先初始化(时间字段名):time_column_name [直接从调用参数中获取!!]
    time_column_name := TG_ARGV[0];

    --
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值