Allow to specify a tablespace for a database

* Tablespaces have to be created before the databases
* Add pillar examples
* Add tests
This commit is contained in:
Javier Bértoli
2016-06-08 07:36:28 -03:00
parent 87a9980729
commit 9719e2354e
3 changed files with 42 additions and 26 deletions

View File

@@ -112,6 +112,27 @@ postgresql-user-{{ name }}:
- service: postgresql-running
{% endfor %}
{% for name, directory in postgres.tablespaces.items() %}
postgresql-tablespace-dir-perms-{{ directory}}:
file.directory:
- name: {{ directory }}
- user: postgres
- group: postgres
- makedirs: True
- recurse:
- user
- group
postgresql-tablespace-{{ name }}:
postgres_tablespace.present:
- name: {{ name }}
- directory: {{ directory }}
- user: postgres
- require:
- service: postgresql-running
- file: postgresql-tablespace-dir-perms-{{ directory}}
{% endfor %}
{% for name, db in postgres.databases.items() %}
postgresql-db-{{ name }}:
{% if db.get('ensure', 'present') == 'absent' %}
@@ -126,6 +147,7 @@ postgresql-db-{{ name }}:
- lc_ctype: {{ db.get('lc_ctype', 'en_US.UTF8') }}
- lc_collate: {{ db.get('lc_collate', 'en_US.UTF8') }}
- template: {{ db.get('template', 'template0') }}
- tablespace: {{ db.get('tablespace', 'pg_default') }}
{% if db.get('owner') %}
- owner: {{ db.get('owner') }}
{% endif %}
@@ -171,24 +193,3 @@ postgresql-ext-{{ ext }}-for-db-{{ name }}:
{% endif %}
{% endfor %}
{% for name, directory in postgres.tablespaces.items() %}
postgresql-tablespace-dir-perms-{{ directory}}:
file.directory:
- name: {{ directory }}
- user: postgres
- group: postgres
- makedirs: True
- recurse:
- user
- group
postgresql-tablespace-{{ name }}:
postgres_tablespace.present:
- name: {{ name }}
- directory: {{ directory }}
- require:
- service: postgresql-running
- file: postgresql-tablespace-dir-perms-{{ directory}}
{% endfor %}