Chef PostgreSQL Cookbook 在 RHEL 7 上安装了错误的版本

Chef PostgreSQL Cookbook Installs Wrong Version on RHEL 7

运行 postgresql Chef cookbook (https://supermarket.chef.io/cookbooks/postgresql) 的最新版本 (6.1.1) 和

node.default['postgresql']['enable_pgdg_yum'] = 'true'
node.default['postgresql']['version'] = '9.3'

这会在 /var/lib/pgsql/9.3 中安装 postgresql,但是 运行

psql -V

returns

psql (PostgreSQL) 9.2.33

至少要覆盖 version、dir、client、contrib 和 server 包:

node.default["postgresql"]["version"]             = "9.3"
node.default["postgresql"]["dir"]                 = "/etc/postgresql/9.3/main"
node.default["postgresql"]["client"]["packages"]  = ["postgresql-client-9.3", "libpq-dev"]
node.default["postgresql"]["server"]["packages"]  = ["postgresql-9.3"]
node.default["postgresql"]["contrib"]["packages"] = ["postgresql-contrib-9.3"

这只是一个例子,我不确定包名称,请仔细检查。这是由于 ruby 评估字符串的方式。