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,21 +1,31 @@
{% from "postgres/map.jinja" import postgres with context %}
postgresql:
pkg:
- installed
install-postgresql:
pkg.installed:
- name: {{ postgres.pkg }}
service:
- running
{% if postgres.create_cluster != False %}
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
- name: {{ postgres.service }}
- require:
- pkg: {{ postgres.pkg }}
postgresql-server-dev-9.3:
pkg.installed
install-postgres-dev-package:
pkg.installed:
- name: {{ postgres.pkg_dev }}
libpq-dev:
pkg.installed
@ -26,7 +36,7 @@ python-dev:
{% if 'pg_hba.conf' in pillar.get('postgres', {}) %}
pg_hba.conf:
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') }}
- template: jinja
- user: postgres

View file

@ -1,18 +1,32 @@
{% set postgres = salt['grains.filter_by']({
'Debian': {
'pkg': 'postgresql-9.1',
'pkg_dev': 'postgresql-server-dev-9.1',
'python': 'python-pygresql',
'service': 'postgresql',
'pg_hba': '/etc/postgresql/9.1/main/pg_hba.conf',
'conf_dir': '/etc/postgresql/9.1/main',
'create_cluster': False,
},
'RedHat': {
'pkg': 'postgresql',
'pkg_dev': 'postgresql-server-dev-9.1',
'python': 'postgresql-python',
'service': 'postgresql',
'create_cluster': False,
},
'Arch': {
'pkg': 'postgresql',
'pkg_dev': 'postgresql-server-dev-9.1',
'python': 'python-psycopg2',
'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'))) %}