2013-05-23 36 views
7

PostgreSQL 9.2をVagrant VM(Ubuntu 12.04)にOpscode postgresql cookbookでインストールするのは苦労しています。以下でChef postgresqlを使用したPostgreSQL 9.2のインストール

node.set['postgresql']['version']    = "9.2" 
node.set['postgresql']['enable_pgdg_apt']  = true 
node.set['postgresql']['password']   = {postgres: "pwd"} 
node.set['postgresql']['server']['packages'] = ["postgresql-9.2"] 

include_recipe "postgresql::apt_pgdg_postgresql" 
include_recipe "postgresql::server" 
include_recipe "database" 

実行結果::私はpoostgresqlの料理の最新バージョン3.0.0を使用しています

[2013-05-23T11:00:52+00:00] FATAL: Chef::Exceptions::EnclosingDirectoryDoesNotExist: 
template[/etc/postgresql/9.2/main/postgresql.conf] (postgresql::server line 60) had an error: 
Chef::Exceptions::EnclosingDirectoryDoesNotExist: Parent directory /etc/postgresql/9.2/main does not exist. 

は、これは私のレシピです。きれいなVM(浮浪者など、アップ、破壊する)とゼロからすべてを再実行

は、このエラーを与える:

[2013-05-23T11:16:37+00:00] FATAL: Chef::Exceptions::EnclosingDirectoryDoesNotExist: 
template[/etc/postgresql/9.1/main/postgresql.conf] (postgresql::server line 60) had an error: 
Chef::Exceptions::EnclosingDirectoryDoesNotExist: Parent directory /etc/postgresql/9.1/main does not exist. 

突然、私たちも、正しいバージョンを持っていません。

答えて

7

私はディレクトリを設定することでこの問題を解決することができました:これは同じ問題であるように

node.set['postgresql']['dir'] = "/var/lib/postgresql/9.2/main" 

はルックス:http://tickets.opscode.com/browse/COOK-2113

+0

私は '親ディレクトリ/var/lib/postgresql/9.2/mainを取得していないのUbuntu上exist.'ないエラー12.04 – sergserg

9

はここでようやく私のためにそれを修正するものです。

  1. 実行update-alternatives --remove postmaster.1.gz /usr/share/postgresql/9.1/man/man1/postmaster.1.gz

  2. 以下のnf。

スニップ:

postgresql: { 
    enable_pgdg_apt: true, 
    dir: "/etc/postgresql/9.2/main", 
    config: { 
     data_directory: "/var/lib/postgresql/9.2/main", 
     hba_file: "/etc/postgresql/9.2/main/pg_hba.conf", 
     ident_file: "/etc/postgresql/9.2/main/pg_ident.conf", 
     external_pid_file: "/var/run/postgresql/9.2-main.pid", 
     ssl_key_file: "/etc/ssl/private/ssl-cert-snakeoil.key", 
     ssl_cert_file: "/etc/ssl/certs/ssl-cert-snakeoil.pem", 
    }, 
    client: { 
     packages: ["postgresql-client-9.2",], 
    }, 
    server: { 
     packages: ["postgresql-9.2", "postgresql-server-dev-9.2"], 
    }, 
    contrib: { 
     packages: ["postgresql-contrib-9.2"], 
    }, 
    password: { 
     postgres: 'postgres' 
    }, 
    pg_hba: [ 
     {type: 'local', db: 'all', user: 'all', addr: nil, method: 'trust'}, 
     {type: 'host', db: 'all', user: 'all', addr: '127.0.0.1/32', method: 'trust'}, 
     {type: 'host', db: 'all', user: 'all', addr: '::1/128', method: 'trust'} 
    ], 
    version: "9.2", 
}, 
+0

おかげであなたの例を共有するため、 pg_hbaが私を捕まえていて、この例が本当に助けになりました –

関連する問題