The matrix is one kind of complexity. Conflicts between extensions are another. Last year, I talked about Citus and Hydra competing for the same name, `columnar`. This year we have a new one — `bm25`. Three extensions now expose an access method called bm25: - pg_search from ParadeDB - pg_textsearch from Timescale - vchord_bm25 from TensorChord Unlike Citus and Hydra, you can install these three together. But you cannot create them all in the same database, because the access method name collides. This is not just a packaging issue. It's an ecosystem metadata problem. If the catalog records not just package names but also extension objects, libraries, and access methods, authors can check for collisions before release.

Part IV Maintenance in the Wild

Naming Conflicts

PIGSTY
PostgreSQL extension object naming conflict map