Pergunta

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?

Foi útil?

Solução

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".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top