Repository navigation
Require PostgreSQL 18 or newer - #641
Merged
Merged
Conversation
The deployment guide asked for PostgreSQL 15 or newer (17 tested), and the dev stack, CI and the test harnesses ran 17, while the in-cluster PostgreSQL of the Helm chart and the kustomize component already ran 18. Requiring 18 lets queries use what 17 and 18 added (MERGE ... RETURNING, OLD/NEW in RETURNING, uuidv7(), ...). - docs/deployment.md asks for PostgreSQL 18+; an upgrade note tells operators on 15 to 17 to upgrade PostgreSQL before Forge. - docker-compose.yml, the CI service containers (pinned to the digest deploy/ pins), the image smoke test, the testcontainers harnesses and the Playwright e2e stack run 18. - The dev compose mounts its volume at /var/lib/postgresql, in a new volume: the 18 image refuses to start with one on /var/lib/postgresql/data, and cannot open the old 17 cluster. Fixes #637 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012e6DJXi8YkJFDoeo91dx68
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #637
Forge now requires PostgreSQL 18; before, it accepted 15 or newer (17 tested). That lets later changes use what 17 and 18 added, such as
MERGE … RETURNINGandOLD/NEWinRETURNING. No query changes here.Changes
docs/deployment.mdasks for PostgreSQL 18+.DEVELOPMENT.mdsays the host PostgreSQL behind--db localmust be 18 too, and how to remove the old dev volume.docs/changes/2.2.0/637.upgrade.md): on PostgreSQL 15 to 17, upgrade PostgreSQL first (pg_upgradeor dump/restore), then Forge. Forge does not check the server version at startup.clippy(sqlx check),oci-e2e,raw-e2eandnpm-e2eservice containers and the image smoke test runpostgres:18, pinned to the digestdeploy/already pins (checked on mirror.gcr.io). Thee2eandweb-e2epre-pulls use:18.core,db,storage,server,e2e) and the Playwright stack (web/e2e) run 18.docker-compose.yml: runs 18 and mounts a new volume,postgresql, at/var/lib/postgresql. The 18 image keeps its cluster in/var/lib/postgresql/18/dockerand refuses to start with a volume on/var/lib/postgresql/data. It also can't open the 17 cluster in the olddb_datavolume.Testing
.github/scripts/test-parallel.sh --workspaceagainst PostgreSQL 18: 114 test binaries, 1693 passed, 0 failed.sqlx migrate run+cargo sqlx prepare --check --workspace -- --all-targets --all-featuresagainstpostgres:18@sha256:edb0c08…: the committed.sqlx/cache matches.docker compose up db: 18.6 starts healthy withdata_directory/var/lib/postgresql/18/docker. With the old mount on/var/lib/postgresql/data, the 18 image refuses to start (checked)..github/scripts/image-pin-check.shandcargo xtask changelog --checkpass.Generated by Claude Code