我正在尝试用流浪汉+厨师独奏设置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
有问题的条目是持有该地址的条目。知道我的用例有什么问题吗?
答案 0 :(得分:4)
第一行是好的,实际上它是唯一没问题的行。提到地址的人应该是“主持人”,而不是“本地人”。目前最后一个是没用的。
Postgres'文档中的更多信息 - "Client Authentication", "The pg_hba.conf File"。