首页 > 其他 > 详细

postgres 使用自增id 来自动水平分表

时间:2020-07-21 13:10:35      阅读:83      评论:0      收藏:0      [点我收藏+]
create table if not exists auto_increase_id
(
    id   serial,
    name varchar(10)
);

-- alter table auto_increase_id


drop function if exists func_trigger_auto_increase_id;
create or replace function func_trigger_auto_increase_id()
    returns trigger as
$$
begin
    raise notice ‘new_id:%‘,new.id;
--     insert into auto_increase_id values (new.*);
    return new;
end;
$$
    language plpgsql
    volatile;

create trigger trigger_insert_auto_increase_id
    before insert
    on auto_increase_id
    for each row
execute procedure func_trigger_auto_increase_id();

insert into auto_increase_id (name)
values (generate_series(1,10000));

自动分表的逻辑我没有写,主要是想验证下自增的字段能否在触发器函数中获取

执行结果表名是可以做到的

[2020-07-21 09:49:12] [00000] new_id:20252
[2020-07-21 09:49:12] [00000] new_id:20253
[2020-07-21 09:49:12] [00000] new_id:20254
[2020-07-21 09:49:12] [00000] new_id:20255
[2020-07-21 09:49:12] [00000] new_id:20256
[2020-07-21 09:49:12] [00000] new_id:20257

自动创建分区表参考:

https://www.cnblogs.com/qianxunman/p/13352619.html

postgres 使用自增id 来自动水平分表

原文:https://www.cnblogs.com/qianxunman/p/13353325.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!