postgresql/tasks/initialize.yml

38 lines
1.0 KiB
YAML
Raw Normal View History

---
2016-09-29 19:33:39 +00:00
- name: Set PostgreSQL environment variables.
2016-09-29 17:36:57 +00:00
template:
src: postgres.sh.j2
dest: /etc/profile.d/postgres.sh
mode: 0644
2016-09-30 01:01:39 +00:00
notify: restart postgresql
2016-09-29 17:36:57 +00:00
- name: Ensure PostgreSQL data directory exists.
file:
path: "{{ postgresql_data_dir }}"
owner: "{{ postgresql_user }}"
group: "{{ postgresql_group }}"
state: directory
mode: 0700
- name: Ensure PostgreSQL log directory exists.
file:
path: "{{ postgresql_effective_log_dir }}"
owner: "{{ postgresql_user }}"
group: "{{ postgresql_group }}"
state: directory
mode: 0700
- name: Check if PostgreSQL database is initialized.
stat:
path: "{{ postgresql_data_dir }}/PG_VERSION"
register: pgdata_dir_version
- name: Ensure PostgreSQL database is initialized.
2016-09-29 19:33:39 +00:00
command: "{{ postgresql_bin_path }}/initdb -D {{ postgresql_data_dir }}"
2016-09-29 17:36:57 +00:00
when: not pgdata_dir_version.stat.exists
2018-10-01 01:23:32 +00:00
become: true
become_user: "{{ postgresql_user }}"
2016-09-30 01:01:39 +00:00
# See: https://github.com/ansible/ansible/issues/16048#issuecomment-229012509
vars:
ansible_ssh_pipelining: true