管理postgresql数据库更新的技术

时间:2012-07-27 18:02:59

标签: postgresql

目标是构建一个简洁的SQL脚本来更改/更新表,因为在任何两个时间点之间对模式进行了更改。

例如,我在一台机器上开发,在Day“A”上我使用了dump&还原实用程序以在生产计算机上安装数据库。然后在Day“B”上对我的开发机器进行一些更改并测试它们之后,我需要将我的架构的这些更改发送到我的生产服务器上。

没有编写我对我的模式执行的每个命令(其中一些可能是实验性的和撤消的),管理从A点到B点(或B点到F点)的一个好方法是什么?物质)?

更新

似乎数据库的类似差异的概念非常不满意。所以这给我留下了新的问题。

  1. 从生产有价值的变化中明确管理实验性变更的简单方法是什么?当你做一些不利的事情时,只需将你的开发数据库恢复到最后一个已知状态吗?

  2. 可以将postgresql配置为以可用作更新脚本的方式记录所有操作吗?我问的原因是我喜欢使用PgAdminIII,我宁愿用它来编写更新脚本来构建或试验。

1 个答案:

答案 0 :(得分:3)

  

没有写我对模式的每一个命令

如果你想以受控和“专业”的方式去做,那就没办法了。您应该考虑使用模式管理工具来帮助您组织和运行这些迁移脚本:

我们对Liquibase的经验非常好。我们将它用于Oracle,DB2和PostgreSQL上的迁移。

对于Postgres特定解决方案,您可能需要查看Sqitch