# PostgreSQL 14-18 Release Matrix — 2026-07-14

## Objective

Verify the supported PostgreSQL-major contract and the completed GQL write
correctness matrix in isolated PostgreSQL 14, 15, 16, 17, and 18 clusters.

## Environment

- Docker Desktop 28.3.3 on arm64 macOS
- Rust 1.96.0
- cargo-pgrx 0.19.1
- PostgreSQL package versions 14.23, 15.18, 16.14, 17.10, and 18.4
- A checksum-pinned `sfw` 1.13.1 binary guarded the cargo-pgrx installation
  performed while building the disposable test image.

## Command

Run from `graph/`:

```bash
PG_VERSIONS='14 15 16 17 18' \
  RUN_PGRX_SQL=1 \
  RUN_GQL_WRITE_MATRIX=1 \
  ./tests/heavy/run_pg_matrix_docker.sh
```

## Results

| PostgreSQL | Rust release tests | pgrx tests | Full isolation | Persisted isolation | MERGE race | Relationship race | Stale-write race |
|---|---:|---:|---|---|---|---|---|
| 14.23 | 718 passed, 1 ignored | 981 passed, 1 ignored | PASS | PASS | PASS | PASS | PASS |
| 15.18 | 718 passed, 1 ignored | 981 passed, 1 ignored | PASS | PASS | PASS | PASS | PASS |
| 16.14 | 718 passed, 1 ignored | 981 passed, 1 ignored | PASS | PASS | PASS | PASS | PASS |
| 17.10 | 718 passed, 1 ignored | 981 passed, 1 ignored | PASS | PASS | PASS | PASS | PASS |
| 18.4 | 718 passed, 1 ignored | 981 passed, 1 ignored | PASS | PASS | PASS | PASS | PASS |

The ignored Rust/pgrx test is the manually invoked million-node scale test.
The matrix finished with both supported-major summaries passing.

## Environment Notes

The final authoritative run used isolated temporary clusters and Unix sockets
inside one disposable image. Image construction uses resumable, checksum-
verified downloads and BuildKit caches to tolerate transient network failures.
The release Rust leg enforces latency contracts; pgrx debug builds retain the
same correctness assertions without applying release-only wall-clock limits.
Planner index assertions use a selective production-shaped fixture so their
result does not depend on the small-table cost choice made by older PostgreSQL
majors.
