In the previous chapter, we talked about the matrix. 80 slots per extension. But 5 PG times 16 Linux is an oversimplified model. The real picture is messier. There are more factors than rows and columns. On the OS side: distribution family, architecture, major version, and sometimes minor version. On the PG side: major version, and sometimes minor version. On the extension side: extension version, and pgrx version for Rust extensions. When you multiply all of these together, the combination explodes very fast. The rest of this part is about what we learn when the explosion meets reality.

Part IV Maintenance in the Wild

Dimension Explosion!

PIGSTY
OS Distro : EL / DEBIAN / UBUNTU
OS Major : el8, el9, el10, d12, d13, u22, u24, u26
OS Arch : amd64, arm64, ...
PG Major : 19 18 17 16 15 14 13 12
PG Minor : ABI break ...... (17.1)
OS Minor : OpenSSL upgrade (EL 9.7, 10.1)
PG Branch : Main, LLVMJIT, DEBUGINFO, DBGSYM...
Extension Versioning & PGRX Versioning...