From 4723a7ecbd7f5bb77b440a655b73cf8761001764 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Tue, 28 Nov 2023 20:38:45 +0100 Subject: [PATCH] added pg upgrade faq --- docs/faq.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 8a14c6f5..be40a286 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -105,4 +105,19 @@ the time to help solving each one. You can install Tandoor manually but please do not expect me or anyone to help you with that. As a general advice: If you do it manually do NOT change anything at first and slowly work yourself -to your dream setup. \ No newline at end of file +to your dream setup. + +## How can I upgrade postgres (major versions)? +Postgres requires manual intervention when updating from one major version to another. The steps are roughly + +1. use `pg_dumpall` to dump your database into SQL (for Docker `docker-compose exec -T pg_dumpall -U -f /path/to/dump.sql`) +2. stop the DB / down the container +3. move your postgres directory in order to keep it as a backup (e.g. `mv postgres postgres_old`) +4. update postgres to the new major version (for Docker just change the version number and pull) +5. start the db / up the container (do not start tandoor as it will automatically perform the database migrations which will conflict with loading the dump) +6. if not using docker, you might need to create the same postgres user you had in the old database +7. load the postgres dump (for Docker `'/usr/local/bin/docker-compose exec -T psql -U postgres < /path/to/dump.sql`) + +If anything fails, go back to the old postgres version and data directory and try again. + +There are many articles and tools online that might provide a good starting point to help you upgrade [1](https://thomasbandt.com/postgres-docker-major-version-upgrade), [2](https://github.com/tianon/docker-postgres-upgrade), [3](https://github.com/vabene1111/DockerPostgresBackups). \ No newline at end of file