直接使用PostgreSQL的多版本并发控制

Directly use of PostgreSQL's Multi-Version Concurrency Control

是否可以直接使用多版本并发控制作为PostgreSQL数据库的客户端?我想要手动 browse/add/delete/restore 旧版本。

我的用例需要保留多个以前版本的数据(我有很多数据和很多版本)。

在官方文档中描述了 MVCC 机制(https://www.postgresql.org/docs/9.5/static/mvcc-intro.html),但没有任何 API 可以直接使用它。

简单地说,没有。 MVCC 并非旨在作为 "version repository",并且仅将其 "versions" 数据保留足够长的时间以满足活动事务的要求。一旦事务结束,为确保事务的数据一致性而创建的任何数据版本都将被丢弃。 MVCC的"multiple versions"指的是不同事务之间可能需要的数据的不同版本或视图。在单个事务中,只有一个版本的数据是可见的。如果您需要维护 "versions" 数据,则需要自行做好准备。

祝你好运。