我想为我们的项目设置一个反映生产数据库状态的开发环境,但是对它的任何数据修改都不会在生产中可见。 PostgreSQL是否提供了允许我在同一个数据库上执行此操作的功能,例如,让用户觉得用户有自己的永久性未提交的事务?
答案 0 :(得分:0)
您希望如何运作?
想象一下,您在开发数据库中修改了某些内容,然后以不兼容的方式修改了生产数据库 生产系统的变更是否会失败?复制错误了吗?
你可能可能会使用Slony完成这样的设置,但这很复杂,会给你的生产系统带来额外负担,使架构变更变得复杂,并且因为上述原因而不能让你满意上方。
在开发数据库中进行修改的想法发生在一个未提交的事务中很有意思,但如果你不能测试事务处理和其他事务永远看不到你自己的事务的工作,你怎么能以合理的方式开发呢? / p>
我认为最好的解决方案是建立一个定期从生产系统更新的测试数据库,最好是自动恢复夜间生产数据库备份(这将具有测试备份的额外优势)。