自动化PostgreSQL升级

我们手动配制PostgreSQL版本升级(例如从9.6到10.1)看起来是这样的:

  1. 停止DB(通过systemctl)
  2. 在不同的端口上启动数据库
  3. pg_dumpall使用不同的端口
  4. mv旧数据目录到不同的位置
  5. 安装新的RPM,卸载旧的RPM
  6. 在不同的端口上启动数据库
  7. pg_restore DB
  8. 停止运行在不同端口上的数据库,在默认端口上启动数据库。

我们在转储/恢复期间使用不同的端口来使其成为primefaces。 我们希望在这个阶段阻止连接。

也许这个程序太复杂了,我不知道。

到目前为止,我们手工完成,但是自动化会很好。

我们使用Salt进行configurationpipe理。 但是这是一个基于状态的工具。 上面的配方看起来更像是一个程序性的东西。

如何使用Salt自动化?

如果有更好的解决scheme(没有盐)…很好。 请告诉我。

看起来不错。 是的,这是一个简单的程序顺序方法,不需要面向对象的东西。

把你所有的手动命令放到一个shell脚本中。

/ bin / sh的

必须是第一行。 确保使用所有命令的完整path。

如果交互是该命令的默认值,则使用非交互模式的参数。