Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docker-compose.databases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

services:
postgres:
image: postgres:17-alpine
image: postgres:18-alpine
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟑 Minor

postgres:18-alpine currently resolves to 18.2, which has known regressions β€” 18.3 out-of-cycle fix is due Feb 26, 2026.

The PostgreSQL Global Development Group is planning for an out-of-cycle release on February 26, 2026 due to regressions introduced in the February 12, 2026 update release, which included releases 18.2, 17.8, 16.12, 15.16, and 14.21. For a local dev setup the blast radius is low, but consider waiting until after Feb 26 to merge so the floating tag pulls the regression-free 18.3 image. Alternatively, pin to the patch version (see below).

πŸ€– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docker-compose.databases.yml` at line 6, The docker-compose image tag
postgres:18-alpine is floating to a patch (18.2) with known regressions; either
wait to merge until the out-of-cycle fix (18.3) is available or pin the image to
a safe patch version instead of the floating tag. Update the image reference
"postgres:18-alpine" in the compose file to a specific patch (e.g.,
"postgres:18.1-alpine" or another verified patch/digest) so the local dev
environment does not pick up the regressed 18.2 release.

⚠️ Potential issue | 🟠 Major

Existing postgres_data volumes with PG17 data are incompatible with PG18 β€” manual migration required.

A dump/restore using pg_dumpall or use of pg_upgrade or logical replication is required for those wishing to migrate data from any previous release. Any developer with an existing postgres_data volume populated by PG17 will get a startup failure like:

FATAL: database files are incompatible with server

Since this is a local-DX-only compose file, dropping the volume is typically the right action, but there is no note anywhere communicating this to contributors. Consider adding a comment in the file (or to scripts/start-dev.sh) along the lines of:

πŸ“ Suggested inline note
 services:
   postgres:
+    # NOTE: upgrading from postgres:17-alpine requires dropping the existing
+    # postgres_data volume before starting: `docker volume rm <project>_postgres_data`
     image: postgres:18-alpine
πŸ€– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docker-compose.databases.yml` at line 6, Add a clear inline comment in
docker-compose.databases.yml near the postgres image declaration (image:
postgres:18-alpine) explaining that existing postgres_data volumes created by
PG17 are incompatible with PG18, will cause "FATAL: database files are
incompatible with server", and that contributors should either drop the
postgres_data volume for local development or perform a proper migration
(pg_dumpall/pg_upgrade/logical replication); optionally mention
scripts/start-dev.sh as an alternative place to surface the same note to avoid
surprise failures.

container_name: metastate-postgres
ports:
- "5432:5432"
Expand Down