Hi debian-devel,

it has probably been a decade since I've last seen a PostgreSQL
installation in the wild on a 32-bit machine. PostgreSQL itself works
fine there, but more and more extensions are not compatible anymore,
either deliberately, or (more common) because of subtle bugs in printf
patterns, double precision values not fitting in a PG Datum, or other
porting problems. Each time this happens, someone has to go digging
what's wrong this time, while in reality, there are likely no users at
all for this PG extension on 32-bit architectures.

Hence, we would like to stop building PG extensions on 32-bit
architectures. The server packages will still build, but extension
packages will be restricted to 64-bit architectures. (If the server
starts to break as well, we could strip down the PG packages to
provide libpq5.deb and friends only.)

I haven't yet decided whether to extend that to PG applications, but
this would likely be the preferred fix for anything 32-bit related in
case of problems.

apt.postgresql.org has already stopped building 32-bit packages for
all releases past past buster, and in the years since then, I've only
received a single question about that. (Which wasn't a user but the
pgbackrest upstream trying to test their software against 32-bit, so
with the same problem.)

On pgsql-pkg-debian I proposed this plan:

* Remove buster-pgdg from apt.pg.o (buster-lts was EOLed last month)

* Remove i386 from sid-pgdg (packages are still preserved on
  apt-archive.postgresql.org)

* Upload postgresql-17 to Debian unstable, with all architectures
  supported [*] (once rc1 is there)

* When re-uploading all extensions to Debian to transition them from
  16 to 17, disable extensions on 32-bit archs. Adding this should do
  the trick:

  Build-Depends: architecture-is-64-bit <!pkg.postgresql.32-bit>,

  That way, people could still build extension packages manually if
  they really wanted (dpkg-buildpackage -Ppkg.postgresql.32-bit).

* Remove postgresql-16 from unstable

Comments?

Christoph

[*] On a side note, 32-bit powerpc did actually start to break:
https://buildd.debian.org/status/logs.php?pkg=postgresql-17&ver=17%7Ebeta2-1&arch=powerpc
I told the package to ignore the regression test results there with
the next postgresql-common upload:
https://salsa.debian.org/postgresql/postgresql-common/-/commit/593fa32fa0c6d2a963a7b3b514d1d6a2423ef534

Attachment: signature.asc
Description: PGP signature

Reply via email to