From b21dc7e8baba8c0bf0eea21c53d34d4779c2debf Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Wed, 24 Jul 2024 23:03:08 +0100 Subject: [PATCH] change postgres data directory --- roles/postgresql/defaults/main.yml | 3 +++ roles/postgresql/tasks/postgresql.yaml | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/roles/postgresql/defaults/main.yml b/roles/postgresql/defaults/main.yml index edb3fdfc..51f77959 100644 --- a/roles/postgresql/defaults/main.yml +++ b/roles/postgresql/defaults/main.yml @@ -2,6 +2,9 @@ postgres_enabled: false postgres_databases: - conda-store +pg_data_directory: /opt/conda-store/postgres/data/ +pguser: conda-store +pg_version: 14 postgres_users: - username: conda-store diff --git a/roles/postgresql/tasks/postgresql.yaml b/roles/postgresql/tasks/postgresql.yaml index 6a4fe492..7a88a137 100644 --- a/roles/postgresql/tasks/postgresql.yaml +++ b/roles/postgresql/tasks/postgresql.yaml @@ -10,6 +10,25 @@ state: latest cache_valid_time: 3600 +- name: Create the data directory + file: + path: "{{ pg_data_directory }}" + owner: "{{ pg_user }}" + group: "{{ pg_user }}" + mode: '0700' + state: directory + +- name: Initialize the PostgreSQL database + command: "sudo -u {{ pg_user }} /usr/lib/postgresql/{{ pg_version }}/bin/initdb -D {{ pg_data_directory }}" + args: + creates: "{{ pg_data_directory }}/PG_VERSION" + +- name: Configure PostgreSQL to use the new data directory + lineinfile: + path: /etc/postgresql/{{ pg_version }}/main/postgresql.conf + regexp: '^#?data_directory =' + line: "data_directory = '{{ pg_data_directory }}'" + - name: Ensure PostgreSQL service is running ansible.builtin.systemd: name: postgresql