diff --git a/postgres/manage.sls b/postgres/manage.sls index ea31836..66f5865 100644 --- a/postgres/manage.sls +++ b/postgres/manage.sls @@ -8,6 +8,10 @@ include: - postgres.client + {%- if 'server_bins' in postgres and grains['saltversion'] == '2016.11.0' %} + # FIXME: Salt v2016.11.0 bug https://github.com/saltstack/salt/issues/37935 + - postgres.server + {%- endif %} {%- endif %} diff --git a/postgres/osmap.yaml b/postgres/osmap.yaml index ebef733..128bfe3 100644 --- a/postgres/osmap.yaml +++ b/postgres/osmap.yaml @@ -69,6 +69,15 @@ RedHat: - psql - reindexdb - vacuumdb + server_bins: + - initdb + - pg_controldata + - pg_ctl + - pg_resetxlog + - postgres + - postgresql{{ release }}-check-db-dir + - postgresql{{ release }}-setup + - postmaster {% else %} diff --git a/postgres/server.sls b/postgres/server.sls index 5efb04f..a553dae 100644 --- a/postgres/server.sls +++ b/postgres/server.sls @@ -92,3 +92,24 @@ postgresql-tablespace-dir-{{ name }}: - group {%- endfor %} + +{%- if 'bin_dir' in postgres %} + +# Make server binaries available in $PATH + + {%- for bin in postgres.server_bins %} + + {%- set path = salt['file.join'](postgres.bin_dir, bin) %} + +{{ bin }}: + alternatives.install: + - link: {{ salt['file.join']('/usr/bin', bin) }} + - path: {{ path }} + - priority: 30 + - onlyif: test -f {{ path }} + - require: + - pkg: postgresql-server + + {%- endfor %} + +{%- endif %}