Add support for configuring Postgres auto-upgrade-backup path
This commit is contained in:
		| @@ -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: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user