postgres-formula/postgres/osmap.yaml

159 lines
4.3 KiB
YAML
Raw Normal View History

{% import_yaml "postgres/repo.yaml" as repo %}
{% set release = repo.version|replace('.', '') %}
2016-05-25 22:16:59 +02:00
Arch:
conf_dir: /var/lib/postgres/data
prepare_cluster:
2017-09-23 21:24:56 +01:00
command: initdb -D /var/lib/postgres/data
test: test -f /var/lib/postgres/data/PG_VERSION
2017-09-24 00:51:48 +01:00
pkg_client: postgresql-libs
2016-05-25 23:06:12 +02:00
pkg_dev: postgresql
Debian:
pkg_repo:
humanname: PostgreSQL Official Repository
key_url: 'https://www.postgresql.org/media/keys/ACCC4CF8.asc'
file: /etc/apt/sources.list.d/pgdg.list
pkg_repo_keyid: ACCC4CF8
pkg_dev: postgresql-server-dev-all
2015-07-10 16:35:06 +02:00
pkg_libpq_dev: libpq-dev
FreeBSD:
user: pgsql
OpenBSD:
user: _postgresql
RedHat:
pkg_repo:
name: pgdg{{ release }}
humanname: PostgreSQL {{ repo.version }} $releasever - $basearch
baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ repo.version }}/redhat/rhel-$releasever-$basearch'
gpgcheck: 1
gpgkey: 'https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-{{ release }}'
2018-03-08 12:30:25 +00:00
{% if repo.use_upstream_repo == true %}
{% set data_dir = '/var/lib/pgsql/' ~ repo.version ~ '/data' %}
pkg: postgresql{{ release }}-server
pkg_client: postgresql{{ release }}
conf_dir: /var/lib/pgsql/{{ repo.version }}/data
service: postgresql-{{ repo.version }}
prepare_cluster:
command: initdb --pgdata='{{ data_dir }}'
test: test -f '{{ data_dir }}/PG_VERSION'
# Alternatives system
linux:
altpriority: 30
# directory containing PostgreSQL client executables
bin_dir: /usr/pgsql-{{ repo.version }}/bin
client_bins:
- clusterdb
- createdb
- createlang
- createuser
- dropdb
- droplang
- dropuser
- pg_archivecleanup
- pg_basebackup
- pg_config
- pg_dump
- pg_dumpall
- pg_isready
- pg_receivexlog
- pg_restore
- pg_rewind
- pg_test_fsync
- pg_test_timing
- pg_upgrade
- pg_xlogdump
- pgbench
- psql
- reindexdb
- vacuumdb
server_bins:
- initdb
- pg_controldata
- pg_ctl
- pg_resetxlog
- postgres
- postgresql{{ release }}-check-db-dir
- postgresql{{ release }}-setup
- postmaster
{% else %}
pkg: postgresql-server
pkg_client: postgresql
{% endif %}
Suse:
pkg_repo:
name: pgdg-sles-{{ release }}
humanname: PostgreSQL {{ repo.version }} $releasever - $basearch
#Using sles-12 upstream repo for opensuse
baseurl: 'https://download.postgresql.org/pub/repos/zypp/{{ repo.version }}/suse/sles-12-$basearch'
key_url: 'https://download.postgresql.org/pub/repos/zypp/{{ repo.version }}/suse/sles-12-$basearch/repodata/repomd.xml.key'
gpgcheck: 1
gpgautoimport: True
2018-03-08 12:30:25 +00:00
{% if repo.use_upstream_repo == true %}
{# Pillars needed are 'use_upstream_repo: True' and 'version: n.n'. #}
{# Avoid setting package names as pillars, as may corrupt postgres. #}
{% set lib_dir = '/var/lib/pgsql/' ~ repo.version ~ '/data' %}
pkg: postgresql{{ release }}-server
pkg_client: postgresql{{ release }}
conf_dir: {{ lib_dir }}
service: postgresql-{{ repo.version }}
#This is postgresql-libs in defaults.yml but upstream is libpqxx
pkg_libpq_dev: libpqxx
pkg_dev: postgresql{{ release }}-devel
pkg_libs: postgresql{{ release }}-libs
prepare_cluster:
#Full path needed as initdb is NOT 'cross version compatible' binary
command: /usr/pgsql-{{ repo.version }}/bin/initdb --pgdata='{{ lib_dir }}'
test: test -f '{{ lib_dir }}/PG_VERSION'
{% else %}
pkg: postgresql-server
pkg_client: postgresql
pkg_libpq_dev: libqpxx
pkg_libs: postgresql-libs
{% endif %}
2018-03-08 12:30:25 +00:00
{%- if grains.os == 'MacOS' %}
## jinja check avoids rendering noise/failure on Linux
2017-09-23 22:25:11 +01:00
MacOS:
2018-03-08 12:30:25 +00:00
{%- if repo.use_upstream_repo == 'homebrew' %}
2018-03-08 11:41:19 +00:00
service: homebrew.mxcl.postgresql
2018-03-08 12:30:25 +00:00
{%- elif repo.use_upstream_repo == 'postgresapp' %}
2018-03-08 11:41:19 +00:00
service: com.postgresapp.Postgres2
2018-03-08 12:30:25 +00:00
{%- endif %}
2017-09-23 23:46:16 +01:00
pkg: postgresql
2017-09-23 23:21:12 +01:00
pkg_client:
pkg_libpq_dev:
2018-03-08 11:41:19 +00:00
userhomes: /Users
user: {{ repo.user }}
group: {{ repo.group }}
conf_dir: /Users/{{ repo.user }}/Library/AppSupport/postgres_{{ repo.use_upstream_repo }}
2017-09-23 22:25:11 +01:00
prepare_cluster:
2018-03-08 11:41:19 +00:00
command: initdb -D /Users/{{ repo.user }}/Library/AppSupport/postgres_{{ repo.use_upstream_repo }}
test: test -f /Users/{{ repo.user }}/Library/AppSupport/postgres_{{ repo.use_upstream_repo }}/PG_VERSION
user: {{ repo.user }}
group: {{ repo.group }}
2018-03-08 12:30:25 +00:00
{%- endif %}
2017-09-23 22:25:11 +01:00
# vim: ft=sls