chore(supabase): bump postgres to 17.6.1.150#80
Conversation
The template pins `supabase/postgres:15.8.1.085`. Postgres 15 reaches end of life in November 2027 and Supabase self-host has been shipping 17.x for a while, so new deployments from this template start on an older major than they need to. This is a major version bump: existing deployments cannot switch images in place, since a PG15 data directory won't start under 17. Migration notes are in the PR description. Autor: Carlos Vera <carlos@braveslab.com> --- De un venezolano para el mundo con el favor de nuestro Señor JesusCristo.
|
Follow-up on the untested part: I have access to another deployment still on I'll post the exact steps that worked, how long the dump/restore took, and anything that broke along the way — so the migration note in this PR stops being theoretical and becomes something you can point people at. If it turns out to be messy enough that it can't be summarised in a few lines, that's an argument for option 1 (new dated branch only), and I'll say so. |
|
Reporting back on the migration I said I'd run. I ran the in-place upgrade on a real EasyPanel Supabase deployment, What the deployment actually was. Honest caveat: it turned out to be a base Supabase install — the app schema wasn't deployed there yet, so in-place is more viable than I wrote here. The What broke along the way:
The bit I keep coming back to — the non-technical user. Whoever runs Supabase through EasyPanel mostly picked it to avoid a terminal, and this path still needs SSH (or the service web console) + running a script. So my honest lean: ship 17 on a new dated branch (option 1) so running stacks don't break on a redeploy they didn't ask for, and keep this tooling as the escape hatch for whoever actually needs to move an existing stack. Fuller reasoning in #81. Happy to go either way — it's your template. |
What this PR does
Bumps the
dbimage fromsupabase/postgres:15.8.1.085to17.6.1.150. One line, nothing else.Why
New deployments from this template currently start on Postgres 15, which reaches end of life in November 2027, while Supabase self-host has been shipping 17.x for a while. Anyone deploying today inherits a major version they will have to migrate off sooner than necessary.
The part that needs a decision
This is a major version bump and it is not backwards compatible for existing deployments. A PG15 data directory will not start under 17 — the container exits on startup with a version mismatch. Anyone who redeploys after this lands, on a stack with data, breaks until they migrate.
So this only makes sense if it ships with a warning. Options, in the order I'd pick them:
For anyone who does want to move an existing stack, the path is a dump before switching images:
pg_upgradealso works but needs both binaries available in the same container, which this image doesn't make easy.Tested
Running
17.6.1.150from this template on EasyPanel, together with #79, for ~22 hours. All 13 containers healthy. That was a fresh deployment, not an in-place upgrade — I have not tested the migration path above on a PG15 stack with data, which is exactly why I'd rather this went to new deployments only.