我正在尝试用 vagrant + chef solo 设置 postgres。
我正在使用官方收据:http: //community.opscode.com/cookbooks/postgresql
正如我的Berksfile
包含:
site :opscode
cookbook "postgresql"
我的Vagrantfile
块是:
config.berkshelf.enabled = true
config.vm.provision "chef_solo" do |chef|
chef.add_recipe "postgresql::server"
chef.json = {
"postgresql" => {
"version" => "9.2",
"password" => { "postgres" => "123" },
config: {
"ssl" => "false"
},
pg_hba: [
{ type: 'local', db: 'all', user: 'all', addr: '', method: 'trust' },
{ type: 'local', db: 'all', user: 'all', addr: '127.0.0.1/32', method: 'trust' },
{ type: 'local', db: 'all', user: 'all', addr: '::1/128 ', method: 'trust' }
]
}
end
生成的内容/etc/postgresql/9.2/main/pg_hba.conf
如下:
# This file was automatically generated and dropped off by Chef!
# PostgreSQL Client Authentication Configuration File
# ===================================================
#
# Refer to the "Client Authentication" section in the PostgreSQL
# documentation for a complete description of this file.
# TYPE DATABASE USER ADDRESS METHOD
###########
# Other authentication configurations taken from chef node defaults:
###########
local all all trust
local all all 127.0.0.1/32 trust
local all all ::1/128 trust
# "local" is for Unix domain socket connections only
local all all peer
但是,如果我运行sudo service postgresql restart
,它会失败并出现错误:
The PostgreSQL server failed to start. Please check the log output:
2013-11-10 08:12:05 GMT LOG: invalid authentication method "127.0.0.1/32"
2013-11-10 08:12:05 GMT CONTEXT: line 17 of configuration file "/etc/postgresql/9.2/main/pg_hba.conf"
2013-11-10 08:12:05 GMT LOG: invalid authentication method "::1/128"
2013-11-10 08:12:05 GMT CONTEXT: line 19 of configuration file "/etc/postgresql/9.2/main/pg_hba.conf"
2013-11-10 08:12:05 GMT FATAL: could not load pg_hba.conf
有问题的条目是那些持有地址的条目。知道我的用例有什么问题吗?