Install PostgreSQL 9.2 with postgresql chef

I am trying to install PostgreSQL 9.2 with the postgresql Opscode assembly on a Vagrant VM (Ubuntu 12.04).

This is my recipe:

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" 

Running leads to the following:

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

I am using the latest cookie poostgresql version 3.0.0.

Repeating everything from scratch with a clean VM (roaming destroy, up, etc.), you get this error:

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

Suddenly we donโ€™t even have the correct version.

+7
source share
2 answers

I was able to fix this by installing the directory:

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

This seems to be the same problem: http://tickets.opscode.com/browse/COOK-2113

+7
source

Here is what finally fixed it for me:

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

  • Use conf below.

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", }, 
+9
source

All Articles