使用postgres sequence实现全局version

news/2024/7/9 23:12:02 标签: postgresql

创建sequence

create sequence global_version_seq increment by 1 minvalue 1 no maxvalue start with 1;

创建version字段

create table {
version bigint not null default nextval('global_version_seq ')
}

更新数据

update table set col=val, version = nextval('global_version_seq ') where version = previous_version…


http://www.niftyadmin.cn/n/891784.html

相关文章

微服务统一鉴权方案

user, team, role, role group team就是user的集合,team拥有的角色每个member都会自动拥有 role group就是role的集合,user或者team拥有某个role group就表示他拥有group里面的所有角色。 team的作用:批量…

秒杀场景的挑战和解决方案

挑战 秒杀是商品促销的常用手段,该用户场景的特点就是集中大量的下单,同时由于下单流程的特殊性,扣库存,下订单都要求很高的数据一致性,不能出现超卖错卖,所以下单请求其实是存在单点问题的(主要是数据库的…

程序员的技术层级

什么是技术层级 其实就跟阿里腾讯的技术层次类似,是给软件开发人员能力评定设定的标准,也是程序员进阶的指引。大厂的评级基本上是按照你对外输出的能力来评判的,也就是你能胜任的项目的复杂度,完成的速度和质量。这是以产出为导…

静态语言和动态语言的类

什么是类 类class就是对对象object的抽象描述。class描述了object的特征,定义了object的属性和方法。在程序里面,只有知道了该object所属的class,我们才能正确的操作该object。 静态语言中的类 编译型语言完美的诠释了class的概念&#xf…

PL/pgSQL and triggers

文章目录what is PL/pgSQLdollar-quoted string constantsblockvariablerowtype:recordconstantlogerror通知clientassertifcase whenloopwhileforexitcontinuefunctionout 参数procedureexceptiontriggerstrigger functiontrigger examplewhat is PL/pgSQL PL/pgSQL is a pro…

assignment的领域模型

文章目录为什么想到写这个背景模型对象名词解释SHIPEMNTOPERATORSETTINGASSIGNMENTevaluaterole技术实现和挑战evaluate的时机并发带来的问题解决方法去掉无效的evaluate过程缓存operator的层级结构图片源码为什么想到写这个 我最近开始学习了《领域驱动设计》(英文版)这本书&…

postgres FILTER函数实现多重过滤和窗口函数实现分组topn

背景 假设有一张学生成绩表 create table student_scores (id BIGSERIAL PRIMARY KEY,name varchar,subject varchar,exam varchar,score int );DO $DO$ DECLARE name_var student_scores.name%type;subject_var student_scores.subject%type;exam_var student_scores.exam%…

postgres使用扩展模式显示数据并且显示执行时间

\x 扩展模式 \timing on 显示执行时间 ? 帮助