How to upgrade Database in Docker

Hey, Baserowers!

Currently, I’m successfully updating Baserow by just changing the versions of the Baserow backend/frontend and other services from here baserow/docker-compose.yml at master · bram2w/baserow · GitHub into the docker-compose.yml on the machine, where also the volumes are added and other parameters are set manually.

After the docker compose up --build all runs smoothly.

But how do I safely upgrade the version of the Baserow database in Docker while having my other manual setting in the docker-compose.yml remaining?

Thanks for your help!

Hi!

If you want to upgrade PostgreSQL container you should run a upgrade container mentioned in our documentation: Install with Docker.

The upgrade operation should be performed in a few steps:

  • do a database backup: Install with Docker
  • stop the Baserow cluster: docker compose stop
  • edit docker-compose.yml file and comment current image: postgres:XXX line and uncomment image: pgautoupgrade/pgautoupgrade:YYY line below (mind the version - it should match your target PostgreSQL version)
  • run just the database container only: docker compose start db
  • wait until it finishes, observe console’s output
  • if there’s a success message, edit docker-compose.yml file again, replace db’s service image entry again to target image:postgres:YYY. Keep pgautoupgrade container image line commented.
  • restart the cluster with a new PostgreSQL version.