Repository navigation
Releases: pgrundev/pgx
Release list
PGX v0.1.0
PGX v0.1.0
The first stable release of PGX: a self-contained, relocatable, PostgreSQL 18
compatible runtime for local development, CI and disposable databases. No
system PostgreSQL required. Same engine lineage as v0.1.0-beta.1 (PostgreSQL
18.6 compatible); the changes since the beta are documentation and the
pgx.dev/install endpoint.
Install
curl -fsSL https://pgx.dev/install | sh
pgx run # a ready `app` database in one step
pgx clone app agent-001 --ttl 5m # a disposable branch that auto-expiresOr download the tarball for your platform below, verify its SHA-256 against
checksums.txt, and extract it; bin/pgx is relocatable.
Platforms
| Platform | Artifact |
|---|---|
| Linux x86-64 | pgx-0.1.0-linux-amd64.tar.gz |
| Linux arm64 | pgx-0.1.0-linux-arm64.tar.gz |
| macOS arm64 | pgx-0.1.0-darwin-arm64.tar.gz |
Every artifact is built from main by CI, self-contained (no Homebrew or
distro PostgreSQL libraries), and smoke-tested from a clean home on all three
platforms (pgx run, pgx clone --ttl, automatic TTL expiry, restart with
data intact). XML functions and ICU collations use the host's libxml2 and ICU
when present.
Verified in this release
- 1,000 TTL branches of one database in one runtime on macOS arm64: 54 ms per
clone (p50), engine RSS flat at ~34 MB, ~140 MB of real disk for all 1,000
clones (APFS block cloning), 100 concurrent sessions on 100 branches with
0 errors, all 1,000 branches auto-expired in 92 s. - Full validation matrix (unit, lifecycle, SQL, compatibility vs PostgreSQL
18.6, crash recovery, isolation, storage, concurrency, stress, application
fixtures):docs/pgx/local-dev/validation-report.md.
Known limitations
These are open and tracked. None of them affects the primary use case, a
single-user developer machine or CI runner.
pgx initignoresPGX_PORTandPGX_DURABILITY(#16). The docs say
initreads them; it does not. Usepgx init --port N --durability full
explicitly, or usepgx run/pgx serve, which do honour the variables.- Shared hosts: the Unix socket is open to every local user (#17, F-S1).
pg_hbatrusts local socket connections and the run directory is
world-traversable, so another user on the same machine can open a superuser
session. PGX is designed for single-user machines and CI runners; do not run
it on a shared multi-user host until this is fixed. - Memory limits are not enforced on parallel workers (#17, F-S3). A
session can raisemax_parallel_workers_per_gatherand run a query whose
workers exceed the configured limits. Treat the per-session limit as
best-effort in this release. - Artifacts are checksummed, not signed (#17, F-S2). The installer
verifies the SHA-256 published with the release; it detects corruption, not
a compromised release. Signed artifacts and build provenance are planned. - Regression status. The latest nightly compatibility run reports 2 of 231
PostgreSQL regression tests with semantic output differences; the README
figure ("0 result differences") predates that run and will be corrected. - ZFS is untested in this release. Copy-on-write clones are verified on
APFS (macOS). On ext4 (the Linux CI runners) clones fall back to a full file
copy, which is correct but not shared. ZFS, btrfs and XFS reflink paths
follow the samecopy_file_rangemechanism but have not been exercised on a
real host yet. - TTL supervisor does not self-heal (#7). If the cleanup supervisor dies
while the engine keeps running, expired branches are not removed until the
nextpgx start/pgx run. Nothing is deleted wrongly; cleanup only pauses.
Full audit with every finding and the planned fixes: #17.
v0.1.0-beta.1
PGX v0.1.0-beta.1 — first public beta (prerelease)