Adding PostgreSQL 9.3 support for Ubuntu 14.04

- Added conditional support for PostgreSQL 9.3.
- Added conf_dir and create_cluster variables to denote actions based on
  OS / release.
This commit is contained in:
Berry Langerak 2014-10-01 16:55:01 +02:00
parent 1c1417e1b8
commit f96844c7c0
2 changed files with 36 additions and 12 deletions

View file

@ -1,22 +1,32 @@
{% from "postgres/map.jinja" import postgres with context %} {% from "postgres/map.jinja" import postgres with context %}
postgresql:
pkg: install-postgresql:
- installed pkg.installed:
- name: {{ postgres.pkg }} - name: {{ postgres.pkg }}
service: {% if postgres.create_cluster != False %}
- running create-postgresql-cluster:
cmd.run:
- cwd: /
- user: root
- name: pg_createcluster 9.3 main --start
- unless: test -f {{ postgres.conf_dir }}/postgresql.conf
- env:
LC_ALL: C.UTF-8
{% endif %}
run-postgresql:
service.running:
- enable: true - enable: true
- name: {{ postgres.service }} - name: {{ postgres.service }}
- require: - require:
- pkg: {{ postgres.pkg }} - pkg: {{ postgres.pkg }}
install-postgres-dev-package:
postgresql-server-dev-9.3: pkg.installed:
pkg.installed - name: {{ postgres.pkg_dev }}
libpq-dev: libpq-dev:
pkg.installed pkg.installed
@ -26,7 +36,7 @@ python-dev:
{% if 'pg_hba.conf' in pillar.get('postgres', {}) %} {% if 'pg_hba.conf' in pillar.get('postgres', {}) %}
pg_hba.conf: pg_hba.conf:
file.managed: file.managed:
- name: {{ postgres.pg_hba }} - name: {{ postgres.conf_dir }}/pg_hba.conf
- source: {{ salt['pillar.get']('postgres:pg_hba.conf', 'salt://postgres/pg_hba.conf') }} - source: {{ salt['pillar.get']('postgres:pg_hba.conf', 'salt://postgres/pg_hba.conf') }}
- template: jinja - template: jinja
- user: postgres - user: postgres

View file

@ -1,18 +1,32 @@
{% set postgres = salt['grains.filter_by']({ {% set postgres = salt['grains.filter_by']({
'Debian': { 'Debian': {
'pkg': 'postgresql-9.1', 'pkg': 'postgresql-9.1',
'pkg_dev': 'postgresql-server-dev-9.1',
'python': 'python-pygresql', 'python': 'python-pygresql',
'service': 'postgresql', 'service': 'postgresql',
'pg_hba': '/etc/postgresql/9.1/main/pg_hba.conf', 'conf_dir': '/etc/postgresql/9.1/main',
'create_cluster': False,
}, },
'RedHat': { 'RedHat': {
'pkg': 'postgresql', 'pkg': 'postgresql',
'pkg_dev': 'postgresql-server-dev-9.1',
'python': 'postgresql-python', 'python': 'postgresql-python',
'service': 'postgresql', 'service': 'postgresql',
'create_cluster': False,
}, },
'Arch': { 'Arch': {
'pkg': 'postgresql', 'pkg': 'postgresql',
'pkg_dev': 'postgresql-server-dev-9.1',
'python': 'python-psycopg2', 'python': 'python-psycopg2',
'service': 'postgresql', 'service': 'postgresql',
'create_cluster': False,
}, },
}, merge=salt['pillar.get']('postgres:lookup')) %} }, merge=salt['grains.filter_by']({
'14.04': {
'pkg': 'postgresql',
'pkg_dev': 'postgresql-server-dev-9.3',
'conf_dir': '/etc/postgresql/9.3/main',
'service': 'postgresql',
'create_cluster': True,
},
}, grain='lsb_distrib_release', merge=salt['pillar.get']('postgres:lookup'))) %}