2013-05-23 25 views
7

Sto lottando per ottenere PostgreSQL 9.2 installato con Opscode postgresql cookbook su una VM Vagrant (Ubuntu 12.04).Installazione di PostgreSQL 9.2 con Chef postgresql

Questa è la mia ricetta:

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" 

I risultati dell'esecuzione nel seguente:

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

Sto usando l'ultima versione 3.0.0 del libro di cucina poostgresql.

Riesecuzione tutto da zero con un pulito VM (vagabondo distruggere, fino, ecc) che dà questo errore:

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

Improvvisamente abbiamo non hanno nemmeno la versione corretta.

risposta

7

sono stato in grado di risolvere questo problema impostando la directory:

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

Sembra che questo è lo stesso problema: http://tickets.opscode.com/browse/COOK-2113

+0

sto diventando un 'directory Parent /var/lib/postgresql/9.2/main fa errore non exist.' su Ubuntu 12.04 – sergserg

9

Ecco cosa finalmente fissata per me:

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

  2. Utilizzare il co nf sotto

Snip:

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

Grazie per condividere il tuo esempio, la pg_hba mi stava prendendo in giro e questo esempio mi ha davvero aiutato –

Problemi correlati