diff --git a/roles/postgresql-server-base/files/postgresql-upgrade.sh b/roles/postgresql-server-base/files/postgresql-upgrade.sh index b7e145e..e1c1590 100644 --- a/roles/postgresql-server-base/files/postgresql-upgrade.sh +++ b/roles/postgresql-server-base/files/postgresql-upgrade.sh @@ -38,3 +38,13 @@ runuser -u postgres -- pg_upgrade \ -o '-c restore_command= -c archive_command=' \ -O '-c restore_command= -c archive_command=' \ -k + +for f in /etc/postgresql/post-upgrade.d/*; do + if [ -x "${f}" ]; then + printf 'Running post-update script: %s\n' "${f}" >&2 + "${f}" || { + printf 'Post-update script %s failed\n' "${f}" >&2 + continue + } + fi +done diff --git a/roles/postgresql-server-base/tasks/main.yml b/roles/postgresql-server-base/tasks/main.yml index 3d6e3eb..40de242 100644 --- a/roles/postgresql-server-base/tasks/main.yml +++ b/roles/postgresql-server-base/tasks/main.yml @@ -29,6 +29,16 @@ - postgresql-upgrade - systemd +- name: ensure postgresql post-upgrade directory exists + file: + path: /etc/postgresql/post-upgrade.d + owner: root + group: root + mode: u=rwx,go=rx + state: directory + tags: + - postgresql-upgrade + - name: ensure postgresql-upgrade service starts when needed service: name: postgresql-upgrade