首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL全局事务与恢复时间点

PostgreSQL全局事务与恢复时间点
EN

Stack Overflow用户
提问于 2019-04-11 07:14:58
回答 1查看 188关注 0票数 0

我正在寻找一些解决方案,我可以单击“打开事务”按钮,从现在起,对数据库所做的任何操作都存储在内存中。然后,当我完成时,我可以点击“还原”或“提交”。

我们有很难的测试路径。要测试单个动作,我们必须准备大量的数据,并且恢复这个操作是非常困难或不可能的。我想要实现的是能够测试解决方案/操作/测试场景,并在完成后返回数据库。

  1. 打开事务或创建某个恢复点
  2. 做测试(这可以通过多个http请求和db连接来完成)
  3. 恢复恢复点

显然,我不是在谈论与BEGIN;COMMIT;ROLLBACK;在单一连接中完成的事务。

EN

回答 1

Stack Overflow用户

发布于 2019-04-11 07:44:36

我们说的是多少测试数据?我能想到的一件事是:

创建包含测试数据的数据库。

代码语言:javascript
复制
create database base_test
    owner = ....
    is_template = true;

然后在base_test中创建您需要的任何东西。

在开始测试时,使用以下方法克隆该数据库:

代码语言:javascript
复制
create database test_db
   template = base_test
   owner = ...;

然后在test_db上运行测试。

一旦测试完成,您就可以丢弃test_db并重新创建它。测试数据的结构或内容的任何更改都必须在base_test中进行。

克隆DB的速度取决于大小,它本质上只是一个文件副本。但是,如果您的测试数据是几个GB,这可能是不可行的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55626675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档