问题:使用 Chef postgresql 安装 PostgreSQL 9.2

我正在努力在 Vagrant VM (Ubuntu 12.04) 上安装带有Opscode postgresql 食谱的 PostgreSQL 9.2。

这是我的食谱:

node.set['postgresql']['version']             = "9.2"
node.set['postgresql']['enable_pgdg_apt']     = true
node.set['postgresql']['password']            = {postgres: "pwd"}
node.set['postgresql']['server']['packages']  = ["postgresql-9.2"]

include_recipe "postgresql::apt_pgdg_postgresql"
include_recipe "postgresql::server"
include_recipe "database"

运行结果如下:

[2013-05-23T11:00:52+00:00] FATAL: Chef::Exceptions::EnclosingDirectoryDoesNotExist:
template[/etc/postgresql/9.2/main/postgresql.conf] (postgresql::server line 60) had an error: 
Chef::Exceptions::EnclosingDirectoryDoesNotExist: Parent directory /etc/postgresql/9.2/main does not exist.

我正在使用最新的 3.0.0 版本的 postgresql 食谱。

使用干净的 VM(vagrant destroy、up 等)从头开始重新运行所有内容会出现此错误:

[2013-05-23T11:16:37+00:00] FATAL: Chef::Exceptions::EnclosingDirectoryDoesNotExist:
template[/etc/postgresql/9.1/main/postgresql.conf] (postgresql::server line 60) had an error: 
Chef::Exceptions::EnclosingDirectoryDoesNotExist: Parent directory /etc/postgresql/9.1/main does not exist.

突然之间,我们甚至没有正确的版本。

解答

我可以通过设置目录来解决这个问题:

node.set['postgresql']['dir'] = "/var/lib/postgresql/9.2/main"

看起来这是同一个问题:http://tickets.opscode.com/browse/COOK-2113

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐