Add support for configuring Postgres auto-upgrade-backup path
This commit is contained in:
parent
ac8d5a839d
commit
009bb1b776
|
@ -3,15 +3,17 @@
|
||||||
If you're not using an external Postgres server, this playbook initially installs Postgres for you.
|
If you're not using an external Postgres server, this playbook initially installs Postgres for you.
|
||||||
|
|
||||||
Once installed like that, this playbook attempts to preserve the Postgres version it starts with.
|
Once installed like that, this playbook attempts to preserve the Postgres version it starts with.
|
||||||
This is because newer Postgres versions cannot start with data generated by an older Postgres version.
|
This is because newer Postgres versions cannot start with data generated by older Postgres versions.
|
||||||
An upgrade must be performed.
|
An upgrade must be performed.
|
||||||
|
|
||||||
This playbook can upgrade your existing Postgres setup with the following command:
|
This playbook can upgrade your existing Postgres setup with the following command:
|
||||||
|
|
||||||
ansible-playbook -i inventory/hosts setup.yml --tags=upgrade-postgres
|
ansible-playbook -i inventory/hosts setup.yml --tags=upgrade-postgres
|
||||||
|
|
||||||
**The old Postgres data directory is backed up** (by renaming to `/matrix/postgres-auto-upgrade-backup`).
|
**The old Postgres data directory is backed up** by renaming to `/matrix/postgres-auto-upgrade-backup`, by default.
|
||||||
It stays around forever, until you **manually decide to delete it**.
|
To rename to a different path, pass some extra flags to the command above, like this: `--extra-vars="postgres_auto_upgrade_backup_data_path=/another/disk/matrix-postgres-before-upgrade"`
|
||||||
|
|
||||||
|
The auto-upgrade-backup directory stays around forever, until you **manually decide to delete it**.
|
||||||
|
|
||||||
As part of the upgrade, the database is dumped to `/tmp`, upgraded and then restored from that dump.
|
As part of the upgrade, the database is dumped to `/tmp`, upgraded and then restored from that dump.
|
||||||
To use a different directory, pass some extra flags to the command above, like this: `--extra-vars="postgres_dump_dir=/directory/to/dump/here"`
|
To use a different directory, pass some extra flags to the command above, like this: `--extra-vars="postgres_dump_dir=/directory/to/dump/here"`
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
postgres_auto_upgrade_backup_data_path: "{{ matrix_postgres_data_path }}-auto-upgrade-backup"
|
postgres_auto_upgrade_backup_data_path: "{{ matrix_postgres_data_path }}-auto-upgrade-backup"
|
||||||
|
when: "postgres_auto_upgrade_backup_data_path|default('') == ''"
|
||||||
|
|
||||||
- name: Fail, if trying to upgrade external Postgres database
|
- name: Fail, if trying to upgrade external Postgres database
|
||||||
fail:
|
fail:
|
||||||
|
|
Loading…
Reference in a new issue