blob: f3d24daded1ed51486bb8b56b66b2326a88e5033 (
plain) (
tree)
|
|
---
- name: install postgres
ansible.builtin.package:
name:
- postgresql-server
- postgresql-contrib
state: present
- name: create postgres directories
ansible.builtin.file:
path: "{{ postgres_dir }}/{{ item }}"
owner: "{{ postgres_user }}"
group: "{{ postgres_group }}"
mode: "0750"
state: directory
loop:
- ""
- "data"
- name: delete default data dir if exists
ansible.builtin.file:
path: "{{ postgres_default_dir }}"
state: absent
when: postgres_dir != "/var/postgresql"
- name: link postgres directory to default one
ansible.builtin.file:
src: "{{ postgres_dir }}"
dest: "{{ postgres_default_dir }}"
owner: "{{ postgres_user }}"
group: "{{ postgres_group }}"
state: link
mode: "0750"
follow: false
when: postgres_dir != "/var/postgresql"
- name: init postgres database # noqa: no-changed-when
ansible.builtin.shell:
cmd: |
su "{{ postgres_user }}" \
-c 'initdb -D "{{ postgres_dir }}/data/" -U "{{ postgres_db_user }}" --encoding=UTF-8 --locale=en_US.UTF-8'
chdir: "{{ postgres_dir }}"
register: result
failed_when:
- result.rc != 0
- "'exists but is not empty' not in result.stderr"
- name: enable and restart postgres service
ansible.builtin.service:
name: postgresql
state: restarted
enabled: true
|