Sql 在Postgres中使用rowversions实现增量客户端更新
我是博士后的新人,到目前为止我很喜欢博士后。我已经对这个问题进行了很多思考,RTFM尽了我最大的能力,但是遇到了死胡同,所以我需要朝着正确的方向推动 我正在设计一个数据库,其中每个感兴趣的实体都有一个Sql 在Postgres中使用rowversions实现增量客户端更新,sql,sql-server,database,postgresql,Sql,Sql Server,Database,Postgresql,我是博士后的新人,到目前为止我很喜欢博士后。我已经对这个问题进行了很多思考,RTFM尽了我最大的能力,但是遇到了死胡同,所以我需要朝着正确的方向推动 我正在设计一个数据库,其中每个感兴趣的实体都有一个rowversion列,该列从全局序列中分配一个值。因此,在最简单的场景中,在具有两行的表emps中:emp1withrowversion@3和emp2与rowversion@5,我知道emp2在emp1(即在以后的事务中-不介意同一事务中的行是否具有相同的rowversion) 这是为了形成一个数
rowversion
列,该列从全局序列中分配一个值。因此,在最简单的场景中,在具有两行的表emps
中:emp1
withrowversion@3
和emp2
与rowversion@5
,我知道emp2
在emp1
(即在以后的事务中-不介意同一事务中的行是否具有相同的rowversion
)
<>这是为了形成一个数据同步逻辑的基础,其中一个知道他们拥有所有直到3的客户端,可以从一个查询中获得最新的更新,例如从EMPs中的“代码>选择”*,其中RoVix> 3和RaveVoR3和RoValue
结果表明,解决方案比PrimGr.'/P>要简单得多。
可在触发器中用于分配记录的txid\u current()
行版本
可用于获取最小活动事务,与SQL Server用户使用txid\u snapshot\u min(txid\u current\u snapshot())
min\u active\u rowversion()的方式相同
@3 - committed
@4 - committed
@5 - committed
@6 - in progress - not committed yet
@7 - committed
@8 - in progress - not committed yet
@9 - committed