Skip to content

feat(extensions): close PGlite version and contrib coverage gaps - #299

Open
f0rr0 wants to merge 12 commits into
mainfrom
f0rr0/pglite-extension-parity
Open

f0rr0 wants to merge 12 commits into
mainfrom
f0rr0/pglite-extension-parity

Conversation

@f0rr0

@f0rr0 f0rr0 commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Oliphaunt main is behind the published PGlite extension inventory. This change upgrades pgvector to 0.8.7 and pg_ivm to 1.17, adds eight PostgreSQL contrib members, and adds PGMQ 1.13.0 plus SQL-only pg_partman 5.5.0 with source, legal, producer, carrier and SDK contracts.

Change Functional coverage
pgvector / pg_ivm HNSW vacuum/reinsert; restored IMMV maintenance regression that fails on pg_ivm 1.16
moddatetime, autoinc, insert_username, refint Trigger behavior and persisted results
pg_stat_statements, pg_logicalinspect Statement accounting and snapshot-name validation; positive logical snapshot decoding additionally exercised on native PostgreSQL
passwordcheck, pg_overexplain Actual LOAD hooks; passwordcheck applies per session unless preloaded
PGMQ / pg_partman Queue leasing/archive/pop; partition maintenance/retention; restart and dump/restore; combined partitioned queue behavior

PGMQ uses a nested pinned source directory. The producers now support that layout, generate current SQL before installation, preserve SQL-only iOS artifacts, and stage pg_partman without a background worker. Windows SQL generation is checked against upstream-generated SQL. WASIX exports match the complete current module set, and every catalog member has matching asset, SDK, server and Node-API Cargo features. The Node-API release embeds all 40 contrib members; catalog-derived tests check both that release inventory and all 49 optional feature forwards. The authoritative export list is included in compiler cache inputs. The vector build disables unsupported relaxed-SIMD instructions while retaining ordinary SIMD and upstream floating-point optimization flags. Native and mobile lifecycle runners use each module's CREATE-versus-LOAD contract; passwordcheck and pg_overexplain execute their own hook recipes.

Release preparation validates host bindings against the verified release selection. Unselected first-release extensions retain their declared host requirements; selected extensions must match their planned host. Rust catalog tests check all 49 SQL identities, and React Native checks all 46 native link identities while excluding SQL-only extensions.

Validation completed locally on Linux at fbd3266:

  • Full release-check gate, merged extension model/tests/package checks, seven Windows/feature regressions, and audit of all 25 pinned source license files passed. Node-API source and runtime packaging checks also passed.
  • Rebuilt pg_textsearch 1.5.1 and core; all 49 extension packages passed import closure and strict source/hash checks. All 53 runtime/extension/tool AOT modules validated. Only core and pg_textsearch bytes changed; the other 51 module/AOT hashes matched prior verified outputs. Vector retains ordinary SIMD with zero unsupported relaxed-SIMD instructions.
  • The complete WASIX regression passed 28 tests: all 49 extensions passed materialization, direct execution, restart, physical backup/restore and pgwire server execution; the shared logical dump/restore fixture also passed. Both Rust resource integration tests passed with fresh standard/ICU seeds bound to the rebuilt core.
  • The sealed Linux Node-API release passed all 40 embedded archive/AOT identities, baseline compatibility, packaging and five packed consumers: Node/npm, Node/Bun, Bun/Bun, Deno/Bun and Electron/Bun, including worker unload and Electron ASAR. Package provenance identifies the final commit.
  • All four TS consumer targets passed: SDK behavior in Node/Bun/Deno/Electron and Chrome, including browser PostGIS/pgTAP and persistent recovery; packaged psql/pg_dump and logical restore in Node/Bun/Deno and Chrome. Together with the two Rust targets, these cover all six downstream targets skipped by the earlier hosted addon failure.

Hosted validation on fbd3266 in run 39376364156 has now passed:

  • All four WASIX host jobs: Linux x64, Linux ARM64, Windows x64 and macOS ARM64, including Node-API release assets and all five packaged consumer combinations. The aggregate Node-API build and package gates also passed.
  • Native and WASIX full-catalog lifecycle gates for all 49 extensions, plus WASIX TypeScript consumers. Downloaded evidence identifies the same commit, tree and run; the WASIX receipt passes the repository validator with current evidence required.
  • Portable WASIX production and host AOT validation; native extension production on Linux x64/ARM64, Windows, Android ARM64/x86_64 and iOS.

Upstream vector and pg_ivm SQL/isolation/concurrency suites also passed during the upgrade work. The complete hosted run finished successfully: 100 jobs passed, four were intentionally skipped, and the final Required gate passed on the unchanged fbd3266 head, including all native platform builds and Android/iOS device tests. The pg_textsearch 1.5.1 upgrade is inherited from main after #124; the PostGIS upgrade remains in #123. PostGIS topology/tiger (included in #123 via #300) and Apache AGE are separate follow-ups; AGE in #298 has reproduced upstream transaction-visibility bugs and is intentionally excluded. Optional extension support in the sealed multi-session postmaster is a separate qualification matrix.

@vercel

vercel Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
oliphaunt-docs Ready Ready Preview Oct 20, 2026 5:44am UTC

f0rr0 added 2 commits October 20, 2026 05:38
Keep the qualification tip single-parent for the release metadata checker after integrating main.

This branch was successfully deployed

1 active deployment
Preview — fbd32667 Deployed Oct 20, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant