Hi Christoph,when closing this, I suggest to open a new bug report, since this is indeed an issue related to Debian PostgreSQL packaging, which prevents the intended PostgreSQL upgrade possibility that is actively implemented with /etc/apt/apt.conf.d/02autoremove-postgresql. There is currently no way to not break PostgreSQL on distro upgrade, since PostgreSQL 17 cannot be installed without PostgreSQL 15 being removed.
Am 25.09.2025 um 15:56 schrieb Christoph Berg:
Re: MichaIngdue to 64-bit time_t transition, on 32-bit architecture, PostgreSQL 15 packages are forcefully removed on dist-upgrade from Bookworm to Trixie, since they depend on non-t64 packages (which are only "provided" but the *t64 ones on 64-bit arch).The weird thing about the t64 transition is that is excludes i386, which stays on 32-bit time.
You are right, the i386 *t64 packages contain "Provides:" for the non-t64 package as well, like 64-bit arch packages. We do not deal with i386 at all, so I only know this affecting armhf, and from the logic of Year 2038 solution via time64 syscalls, I assumed it would be the case for all 32-bit architecture.
It would be useful to know which libraries exactly caused the removal for you.
Most importantly libssl3: libssl3t64 is dependency for PostgreSQL 17 packages, and a large number of base OS packages anyway, breaks and does not provide libssl3.
And there is a number of other dependencies not available on Trixie, some of which are affected by the same t64 vs non-t64 replacement:
- For `postgresql-client-15`: `libreadline8`- For `postgresql-15`: `libldap-2.5-0` < `libgnutls30` < `libhogweed6` < `libnettle8`
So despite /etc/apt/apt.conf.d/02autoremove-postgresql intending to keep PostgreSQL 15 installed, they are removed, and the cluster migration hence02autoremove-postgresql is only about "apt autoremove". If packages get removed for other reasons, this protection does nothing.
Right, just saying that this exist to allow v15 => v17 cluster upgrades, which is however broken due to the conflicts.
cannot work. We are currently testing whether it is possible when installing Bookworm packages via `dpkg -i --force-depends`, but I guess the rats tail of non-t64 shared lib dependencies, file conflicts of those with the ones from Trixie, and maybe actual runtime errors due to unexpected 64-bit length time_t values in Bookworm libs, will make this impossible.If the postgresql-15 and postgresql-17 packages from bookworm and trixie are not co-installable, do a pg_dumpall before the upgrade and manually restore the data after the upgrade.
Thanks, that sounds like a solution I was looking for. Might be an idea to implement this into the maintainer scripts as well for armhf, to prevent users from being stuck with PostgreSQL 17 but v15 clusters? I mean sure, one should have a backup etc. We will implement and test pg_dumpall + restore for our users. If this works, I could open a PR to patch v15 and v17 maintainer scripts accordingly.
Let me know if I should open a new issue, since this is a serious breakage for 32-bit systems. But this is high likely the explanation why OP ran into this issue in the first place.I don't think the two problems are connected. I doubt that many people are running databases on 32-bit systems these days. Trixie doesn't even have a kernel for 32-bit installs anymore.
Of course it does: https://packages.debian.org/trixie/linux-image-armmpThough for SBCs, the Debian kernel is used rarely, but often vendor kernel builds or Armbian or our's instead, which distribute this with bootloader builds, and boot scripts/configs which work together.
Among our ~140.000 users, mostly but not only SBCs, even that we do all we can to have users on 64-bit userland where possible, we still have ~15% 32-bit systems, mostly older Raspberry Pi models, and some Odroids. They are perfectly capable to run PostgreSQL as database for some server applications. Of course not for huge public websites/APIs, but for home or smaller offices no problem.
Please do consider moving to a 64-bit platform. 32-bit support has already been terminated for all PostgreSQL extensions in trixie; we might remove the server packages as well.
As said, there is ARMv6 and ARMv7 hardware which cannot. Best regards, Micha (aka MichaIng) DietPi project lead
OpenPGP_0x0442B9ADE65643FE.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature

