diff --git a/pillar.example b/pillar.example index c714bb0..d817ad2 100644 --- a/pillar.example +++ b/pillar.example @@ -38,14 +38,18 @@ postgres: template: 'template0' lc_ctype: 'C.UTF-8' lc_collate: 'C.UTF-8' - + # optional extensions to enable on database + extensions: + - uuid-ossp db2: owner: 'localUser' user: 'remoteUser' template: 'template0' lc_ctype: 'C.UTF-8' lc_collate: 'C.UTF-8' - + # optional extensions to enable on database + extensions: + - postgis # This section will append your configuration to postgresql.conf. postgresconf: | listen_addresses = 'localhost,*' diff --git a/postgres/init.sls b/postgres/init.sls index 07fb35b..a8c02ef 100644 --- a/postgres/init.sls +++ b/postgres/init.sls @@ -103,6 +103,16 @@ postgres-db-{{ name }}: - require: - postgres_user: postgres-user-{{ db.get('user') }} {% endif %} + +{% if db.extensions is defined %} +{% for ext in db.extensions %} +postgres-ext-{{ ext }}-for-db-{{ name }}: + postgres_extension.present: + - name: {{ ext }} + - user: {{ db.get('runas', 'postgres') }} + - maintenance_db: {{ name }} +{% endfor %} +{% endif %} {% endfor%} {% for name, directory in postgres.tablespaces.items() %}