Any chance to upgrade the postgres-client version?

AI-generated summary

Upgrading Postgres-client version

The discussion revolves around upgrading the postgresql-client version from 13.5 to 14 due to a backup failure caused by a version mismatch. leoniscsem shares the error log and asks for a way to upgrade the client version.

codinghorror explains that upgrading Postgres versions requires significant engineering resources, and they upgrade every two releases. They plan to upgrade to Postgres 15.1 in the future.

leoniscsem understands the challenge but mentions the difficulties they face when upgrading their Postgres cluster.

gerhard suggests manually installing the required postgresql-client using apt-get commands in the app.yml. leoniscsem is concerned about potential dependency issues with Ruby gems.

gerhard advises testing the solution on a staging site and thinks it should work without issues.

Donavan_Martin1 discovers a simple solution by installing the latest postgresql-client version using apt-get in the running container, which resolves the backup issue.

supermathie clarifies that the engineering resources are required to officially support the upgrade, not to perform the upgrade itself.

We are using Discourse with an external database instead of the integrated, Docker-based Postgres. We recently had to upgrade our Postgres cluster to 14, thus the Discourse backup keeps failing.

Log output

[2022-01-17 03:38:08] Dumping the public schema of the database...
[2022-01-17 03:38:08] pg_dump: error: server version: 14.1 (Ubuntu 14.1-1.pgdg18.04+1); pg_dump version: 13.5 (Debian 13.5-1.pgdg100+1)
[2022-01-17 03:38:08] pg_dump: error: aborting because of server version mismatch
[2022-01-17 03:38:08] EXCEPTION: pg_dump failed

Is there any way to upgrade the postgresql-client 13.5-1.pgdg100+1 of the container to version 14?

We upgrade Postgres versions every two releases, because it takes a tremendous amount of engineering resources to upgrade the database. We are currently on Postgres 13 so we’ll upgrade to Postgres 15.1 when that is released (the bugfix point release).

I do understand, but thanks for pointing out the upgrade policy - really good to know. We are aware of engineering resources regarding the DB. I love Postgres, but upgrading our cluster usually turns us to be devout Catholics - many prayers beforehand, but still a lot of blood, sweat and tears.

You should be able to manually install the required postgresql-client by adding the appropriate apt-get commands to your app.yml.

Would this cause any depency issues with Ruby gems of the application itself? As far as I understand adding apt install as a hook requires a launcher rebuild app, right? If so, I would skip this for another dreaded upgrade as described here in another topic of mine , we face massive problems of rebuilding the app inside China. That’s the reason why I would like to clarify if just entering the app and then manually installing it via apt would do the trick.

I suggest you test it on a staging site before doing anything in production, but I think there won’t be any issues with Ruby gems. Installing it in the running container should work as well.

So you will create the script next year in 2023 ? PostgreSQL: Versioning Policy

Should I open a new ticket for Backup failure ?

??? it takes a tremendous amount of engineering resources ???
It seems that these simple lines of commands to update the postgresql database from 13.5 to 14.1 solve the backup problem… Cheers

cd /var/discourse
./launcher enter app
sudo apt-get install postgresql

to officially support it, yes.