mirror of
https://github.com/geerlingguy/ansible-role-postgresql.git
synced 2024-11-11 13:50:50 -05:00
44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
---
|
|
- name: Set PostgreSQL environment variables.
|
|
template:
|
|
src: postgres.sh.j2
|
|
dest: /etc/profile.d/postgres.sh
|
|
mode: 0644
|
|
notify: restart postgresql
|
|
|
|
- name: Configure global settings.
|
|
lineinfile:
|
|
dest: "{{ postgresql_config_path }}/postgresql.conf"
|
|
regexp: "^#?{{ item.option }}.+$"
|
|
line: "{{ item.option }} = '{{ item.value }}'"
|
|
state: "{{ item.state | default('present') }}"
|
|
with_items: "{{ postgresql_global_config_options }}"
|
|
notify: restart postgresql
|
|
|
|
- name: Ensure PostgreSQL unix socket dir exists.
|
|
file:
|
|
path: "{{ postgresql_unix_socket_dir }}"
|
|
state: directory
|
|
mode: 0777
|
|
|
|
- name: Ensure PostgreSQL data directory exists.
|
|
file:
|
|
path: "{{ postgresql_data_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.
|
|
command: "{{ postgresql_bin_path }}/initdb -D {{ postgresql_data_dir }}"
|
|
when: not pgdata_dir_version.stat.exists
|
|
become: yes
|
|
become_user: "{{ postgresql_user }}"
|
|
# See: https://github.com/ansible/ansible/issues/16048#issuecomment-229012509
|
|
vars:
|
|
ansible_ssh_pipelining: true
|