Reputation: 12149
I'm trying to setup postgres with vagrant + chef solo.
I'm using the official receipt: http://community.opscode.com/cookbooks/postgresql
As my Berksfile
contains:
site :opscode
cookbook "postgresql"
And my Vagrantfile
chunk is:
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
The generated contents of: /etc/postgresql/9.2/main/pg_hba.conf
looks like this:
# 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
However if I run sudo service postgresql restart
, it fails with error:
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
The problematic entries are those holding the address. Any idea what is wrong in my use case?
Upvotes: 3
Views: 3220
Reputation: 62583
The first line is OK, actually it's the only line that's OK. The ones that mention an address, should be "host", not "local". And the last one currently is useless.
More info in the Postgres' docs - "Client Authentication", "The pg_hba.conf File".
Upvotes: 5