Description
Describe the bug issue
What do the docs say now?
The docs show how to upgrade on the high availability (HA) image which does not store its data at /var/lib/postgresql/data
like the non HA image. As mentioned on this page of the docs near the bottom in a warning, and confirmed myself while trying to upgrade, the high availability image stores the data at /home/postgres/pgdata/data
.
So step 3 of this section ignores previous data from mount completely. That's because the directory that mounted inside the container (/var/lib/postgresql/data
) is not the one that HA image uses to store the data (/home/postgres/pgdata/data
), and instead is the one that non HA image uses.
What should the docs say?
There should be different branches (after the section with the mount) depending on the upgrade since there are directory differences between the images:
- not HA ---> not HA
- not HA ---> HA
- HA ---> not HA
- HA ---> HA
Cases 1 & 4 should be similar and straightforward since they use the same directory before and after the upgrade.
Case 3 probably will be okey just by using mount directory /var/lib/postgresql/data
inside the container. I did not tested it myself.
Case 2 (the one I had to deal with) similar to case 3, it needs mount directory /home/postgres/pgdata/data
inside the container, but then the container is unable to start, because it does not have permission to change the permissions of the mounted directory. To solve it I started the container as root user (so it has permissions) then stopped it and started it again without specifying the user as root.
Page affected
https://docs.timescale.com/self-hosted/latest/upgrades/upgrade-docker/