Install Postgres 9.2 on CentOS 6.5 using Chef

旧巷老猫 提交于 2019-12-11 19:14:05

问题


Env: CentOS 6.5, Chef, Vagrant, Berkshelf

  • Added cookbook "postgresql" in my Berksfile
  • Ran $ berks install followed berks upload which uploaded my cookbook to my hosted Enterprise Chef server.
  • Added my postgresql attributes to my cookbook my_cookbook/attributes/default.rb

    default['postgresql']['version'] = '9.2'
    
    default['postgresql']['client']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-devel"]
    
    default['postgresql']['server']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-server"]
    
    default['postgresql']['contrib']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-contrib"]
    
    default['postgresql']['dir'] = "/var/lib/pgsql/#{node['postgresql']['version']}/data"
    
    default['postgresql']['server']['service_name'] = "postgresql-#{node['postgresql']['version']}"
    

In my default.rb recipe:

include_recipe 'postgresql::yum_pgdg_postgresql'
include_recipe 'postgresql::server'

The Error:

Recipe: postgresql::client
  * package[postgresql92-devel] action install
    * No version specified, and no candidate version available for postgresql92-devel
================================================================================
Error executing action `install` on resource 'package[postgresql92-devel]'
================================================================================

回答1:


I resolved this by adding one line in the my attributes/default.rb

default['postgresql']['enable_pgdg_yum'] = true      <==== ADDED THIS
default['postgresql']['version'] = '9.2'
default['postgresql']['client']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-devel"]
default['postgresql']['server']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-server"]
default['postgresql']['contrib']['packages'] = ["postgresql#{node['postgresql']['version'].split('.').join}-contrib"]
default['postgresql']['dir'] = "/var/lib/pgsql/#{node['postgresql']['version']}/data"
default['postgresql']['server']['service_name'] = "postgresql-#{node['postgresql']['version']}"


来源:https://stackoverflow.com/questions/23738383/install-postgres-9-2-on-centos-6-5-using-chef

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!