Compare commits
2 Commits
07ff4a24c3
...
93889e5c56
| Author | SHA1 | Date | |
|---|---|---|---|
| 93889e5c56 | |||
| ed2173e8f5 |
@@ -5,16 +5,21 @@
|
||||
- postgresql-contrib
|
||||
update_cache: yes
|
||||
|
||||
# --- Dynamiczne wykrywanie wersji PostgreSQL ---
|
||||
- name: Detect PostgreSQL clusters
|
||||
shell: "pg_lsclusters --no-header | awk '{print $1, $2}' | head -n1"
|
||||
register: pg_cluster_info
|
||||
# --- Detect PostgreSQL version and cluster ---
|
||||
- name: Detect PostgreSQL version
|
||||
shell: "ls -d /etc/postgresql/*/ | head -n1 | xargs basename"
|
||||
register: pg_version_result
|
||||
changed_when: false
|
||||
|
||||
- name: Detect cluster name
|
||||
shell: "ls -d /var/lib/postgresql/*/main/ 2>/dev/null | head -n1 | xargs -I {} basename $(dirname {}) | tail -n1"
|
||||
register: pg_cluster_result
|
||||
changed_when: false
|
||||
|
||||
- name: Set PostgreSQL version and cluster facts
|
||||
set_fact:
|
||||
pg_version: "{{ pg_cluster_info.stdout.split()[0] }}"
|
||||
pg_cluster: "{{ pg_cluster_info.stdout.split()[1] }}"
|
||||
pg_version: "{{ pg_version_result.stdout | trim }}"
|
||||
pg_cluster: "main"
|
||||
|
||||
- name: Define PostgreSQL cluster path
|
||||
set_fact:
|
||||
@@ -34,25 +39,41 @@
|
||||
shell: "pg_ctlcluster {{ pg_version }} {{ pg_cluster }} stop"
|
||||
ignore_errors: true
|
||||
|
||||
# --- Ensure data directory exists ---
|
||||
- name: Create PostgreSQL data directory
|
||||
file:
|
||||
path: "{{ pg_data_path }}"
|
||||
state: directory
|
||||
owner: postgres
|
||||
group: postgres
|
||||
mode: "0700"
|
||||
|
||||
# --- Ensure cluster exists ---
|
||||
- name: Ensure PostgreSQL cluster exists
|
||||
shell: "pg_createcluster {{ pg_version }} {{ pg_cluster }}"
|
||||
ignore_errors: true
|
||||
|
||||
# --- Configure PostgreSQL ---
|
||||
- name: postgresql.conf
|
||||
template:
|
||||
src: postgresql.conf.j2
|
||||
dest: "{{ pg_cluster_path }}/postgresql.conf"
|
||||
owner: postgres
|
||||
group: postgres
|
||||
mode: "0600"
|
||||
|
||||
- name: pg_hba.conf
|
||||
template:
|
||||
src: pg_hba.conf.j2
|
||||
dest: "{{ pg_cluster_path }}/pg_hba.conf"
|
||||
owner: postgres
|
||||
group: postgres
|
||||
mode: "0600"
|
||||
|
||||
# --- Ensure cluster exists and started ---
|
||||
- name: Ensure PostgreSQL cluster exists
|
||||
shell: |
|
||||
if [ ! -d "{{ pg_data_path }}" ]; then
|
||||
pg_createcluster {{ pg_version }} {{ pg_cluster }} --start
|
||||
else
|
||||
pg_ctlcluster {{ pg_version }} {{ pg_cluster }} start
|
||||
fi
|
||||
# --- Start cluster ---
|
||||
- name: Start PostgreSQL cluster
|
||||
shell: "pg_ctlcluster {{ pg_version }} {{ pg_cluster }} start"
|
||||
ignore_errors: true
|
||||
|
||||
# --- Wait for socket to be ready ---
|
||||
- name: Wait for PostgreSQL socket
|
||||
|
||||
Reference in New Issue
Block a user