chef-solo + postgres导致pg_hba.conf无效

时间:2013-11-10 08:21:56

标签: postgresql 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

有问题的条目是持有该地址的条目。知道我的用例有什么问题吗?

1 个答案:

答案 0 :(得分:4)

第一行是好的,实际上它是唯一没问题的行。提到地址的人应该是“主持人”,而不是“本地人”。目前最后一个是没用的。

Postgres'文档中的更多信息 - "Client Authentication", "The pg_hba.conf File"