20 lines
1.2 KiB
Markdown
20 lines
1.2 KiB
Markdown
|
# Upgrading PostgreSQL
|
||
|
|
||
|
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.
|
||
|
This is because newer Postgres versions cannot start with data generated by an older Postgres version.
|
||
|
An upgrade must be performed.
|
||
|
|
||
|
This playbook can upgrade your existing Postgres setup with the following command:
|
||
|
|
||
|
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`).
|
||
|
It 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.
|
||
|
To use a different directory, pass some extra flags to the command above, like this: `--extra-vars="postgres_dump_dir=/directory/to/dump/here"`
|
||
|
|
||
|
**ONLY one database is migrated** (the one specified in `matrix_postgres_db_name`, named `homeserver` by default).
|
||
|
If you've created other databases in that database instance (something this playbook never does and never advises), data will be lost.
|