Skip to content

Commit 116e624

Browse files
authored
Check Binary/Database versions match, otherwise restart (#418)
Check Binary/Database versions match, otherwise restart
1 parent dda87e3 commit 116e624

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# file: postgresql/tasks/check_pg_version_mismatch.yml
2+
3+
# Check binary version
4+
- name: PostgreSQL | Check binary version
5+
shell: >
6+
psql --version | sed 's/^psql (//' | sed 's/)//' | awk '{print $1, $2}'
7+
become: yes
8+
become_user: "{{ postgresql_service_user }}"
9+
changed_when: false
10+
failed_when: postgresql_binary_version.stdout == ""
11+
register: postgresql_binary_version
12+
13+
# Check database version
14+
- name: PostgreSQL | Check database version
15+
shell: >
16+
psql --quiet --tuples-only --command="select substring(version(),'[^\s]+\s+[^\s]+');" | sed 's/^ //'
17+
become: yes
18+
become_user: "{{ postgresql_service_user }}"
19+
changed_when: false
20+
failed_when: postgresql_database_version.stdout == ""
21+
register: postgresql_database_version
22+
23+
# If versions do not match, then restart PostgreSQL
24+
- name: PostgreSQL | Verify binary and database versions match
25+
debug:
26+
msg: "WARNING: Binary ({{ postgresql_binary_version.stdout }}) and Database ({{ postgresql_database_version.stdout }}) version mismatch. Restart required!"
27+
when: postgresql_binary_version.stdout != postgresql_database_version.stdout
28+
changed_when: postgresql_binary_version.stdout != postgresql_database_version.stdout
29+
notify: restart postgresql

tasks/main.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,6 @@
4242
- import_tasks: monit.yml
4343
when: monit_protection is defined and monit_protection == true
4444
tags: [postgresql, postgresql-monit]
45+
46+
- import_tasks: check_pg_version_mismatch.yml
47+
tags: [postgresql, postgresql-version-mismatch]

0 commit comments

Comments
 (0)