ansible/roles/postgresql_server/tasks/main.yml

154 lines
3.6 KiB
YAML
Raw Normal View History

---
#
2016-08-08 19:36:31 +00:00
# Setup postgresql server.
#
- name: install postgresql server packages (yum)
package: name={{ item }} state=present
with_items:
- postgresql-server
- postgresql-contrib
- postgresql-plpython
2013-09-12 22:27:42 +00:00
- python-psycopg2
- pxz
when: ansible_distribution_major_version|int < 22
tags:
- packages
- postgresql
- name: install postgresql server packages (dnf)
dnf: name={{ item }} state=present
with_items:
- postgresql-server
- postgresql-contrib
- postgresql-plpython
- python-psycopg2
2018-06-30 04:04:17 +00:00
- pxz
when: ansible_distribution_major_version|int > 21 and ansible_cmdline.ostree is not defined
tags:
- packages
2014-09-25 20:26:49 +00:00
- postgresql
2014-09-25 20:42:43 +00:00
- name: Set kernel shared memory max to a larger value
sysctl: name=kernel.shmmax value={{ kernel_shmmax }}
when: kernel_shmmax is defined
2014-09-25 20:42:43 +00:00
notify:
- restart postgresql
2014-09-25 20:44:30 +00:00
tags:
- postgresql
2014-09-25 20:42:43 +00:00
2014-09-25 20:30:31 +00:00
- name: Initialize postgres if necessary
command: /usr/bin/postgresql-setup initdb
creates=/var/lib/pgsql/data/postgresql.conf
2014-09-25 20:30:31 +00:00
notify:
- restart postgresql
tags:
- postgresql
2013-06-26 20:14:32 +00:00
- name: Set postgresql-server to run on boot
service: name=postgresql enabled=yes
ignore_errors: true
notify:
- restart postgresql
tags:
- service
2014-09-25 20:26:49 +00:00
- postgresql
- name: Add our postgres config file.
copy: >
src={{ item }}
dest=/var/lib/pgsql/data/{{ item }}
owner=postgres
with_items:
- pg_hba.conf
notify:
- restart postgresql
tags:
- config
2014-09-25 20:26:49 +00:00
- postgresql
2014-01-10 21:29:20 +00:00
- name: postgresql config template
template: dest=/var/lib/pgsql/data/postgresql.conf src=postgresql.conf
notify:
- restart postgresql
tags:
- config
- postgresql
2014-01-10 21:29:20 +00:00
- name: Ensure postgres has a place to backup to
file: dest=/backups state=directory owner=postgres
2014-09-25 20:26:49 +00:00
tags:
- postgresql
2014-01-10 21:29:20 +00:00
- name: Copy over backup scriplet
copy: src=backup-database dest=/usr/local/bin/backup-database mode=0755
2014-09-25 20:26:49 +00:00
tags:
- postgresql
2014-01-10 21:29:20 +00:00
- name: Set up some cronjobs to backup databases as configured
template: >
src=cron-backup-database
dest=/etc/cron.d/cron-backup-database-{{ item }}
with_items:
- "{{ dbs_to_backup }}"
when: dbs_to_backup != []
tags:
- cron
2014-09-25 20:26:49 +00:00
- postgresql
- name: Set up a cron job to clean long koji sessions on koji database server only
copy: >
src=koji-cleanup-sessions.cron
dest=/etc/cron.d/koji-cleanup-sessions.cron
when: inventory_hostname.startswith('db-koji01')
tags:
- cron
- postgresql
- name: install script to kill long running pgsql jobs
copy: >
src=kill_idle_xact_92.sh
dest=/usr/local/bin/kill_idle_xact_92.sh
2016-04-13 18:22:49 +00:00
mode=0755
when: inventory_hostname.startswith('db-koji01')
tags:
- cron
- postgresql
- name: Set up a cron job to kill long postresql queries
copy: >
src=koji-cleanup-locks.cron
dest=/etc/cron.d/koji-cleanup-locks.cron
when: inventory_hostname.startswith('db-koji01')
tags:
- cron
- postgresql
- name: Set up a script for cron job to clean long fas sessions on fas database server only
copy: >
src=fasdb-cleanup-sessions
dest=/usr/local/bin/fasdb-cleanup-sessions
2015-04-27 18:25:55 +00:00
mode=755
when: inventory_hostname.startswith('db-fas01')
tags:
- cron
- postgresql
- name: Set up a cron job to clean long fas sessions on fas database server only
copy: >
src=fasdb-cleanup-sessions.cron
dest=/etc/cron.d/fasdb-cleanup-sessions.cron
when: inventory_hostname.startswith('db-fas01')
tags:
- cron
- postgresql
- name: Set up datanommer/datagrepper SAR script
copy: >
src=datagrepper_sar.py
dest=/usr/local/bin/datagrepper_sar.py mode=0700
when: inventory_hostname.startswith(('db-datanommer02', 'pgbdr01.stg'))
tags:
- postgresql
- SAR
- GBDR