Skip to content

Comments

chore(deps): update postgres docker tag to v18#866

Open
ham-renovate wants to merge 1 commit intomainfrom
renovate/postgres-18.x
Open

chore(deps): update postgres docker tag to v18#866
ham-renovate wants to merge 1 commit intomainfrom
renovate/postgres-18.x

Conversation

@ham-renovate
Copy link
Collaborator

@ham-renovate ham-renovate commented Feb 23, 2026

This PR contains the following updates:

Package Update Change
postgres major 17-alpine18-alpine

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@ham-renovate ham-renovate requested a review from coodos as a code owner February 23, 2026 11:58
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 23, 2026

📝 Walkthrough

Walkthrough

PostgreSQL database service image in the Docker Compose configuration is upgraded from version 17 to version 18 (Alpine Linux variant). Configuration remains otherwise unchanged.

Changes

Cohort / File(s) Summary
Postgres Version Upgrade
docker-compose.databases.yml
Updated Postgres image from postgres:17-alpine to postgres:18-alpine.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested reviewers

  • coodos

Poem

🐰 A hop and a skip, the database grows,
From seventeen to eighteen, the version now flows,
Alpine lightweight, no bloat in sight,
Our PostgreSQL sparkles, shining so bright! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is missing critical sections from the template including Issue Number, Type of change, How the change has been tested, and the Change checklist. Fill in the required template sections: specify the Issue Number, mark 'Chore' as the Type of change, describe testing approach, and complete the Change checklist with acknowledgments.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: updating the postgres Docker image tag from v17 to v18, with appropriate conventional commit formatting.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch renovate/postgres-18.x

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
docker-compose.databases.yml (1)

6-6: Consider pinning to a specific patch version for reproducibility.

The postgres:18-alpine tag is floating — it advances automatically on every docker pull as new minor releases ship. Postgres recommends that all users run the latest available minor release for whatever major version is in use, but uncontrolled automatic advancement can cause silent behaviour differences across dev machines. Pinning to postgres:18.3-alpine (once released) gives the team a deliberate upgrade decision point and a consistent image digest.

♻️ Proposed change
-    image: postgres:18-alpine
+    image: postgres:18.3-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, The image tag "postgres:18-alpine"
is floating; change it to a pinned patch version (e.g., "postgres:18.3-alpine")
or pin to an explicit digest so pulls are reproducible — update the "image:
postgres:18-alpine" entry in the compose file to the chosen pinned tag or digest
and document the chosen patch version.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docker-compose.databases.yml`:
- 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.
- 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.

---

Nitpick comments:
In `@docker-compose.databases.yml`:
- Line 6: The image tag "postgres:18-alpine" is floating; change it to a pinned
patch version (e.g., "postgres:18.3-alpine") or pin to an explicit digest so
pulls are reproducible — update the "image: postgres:18-alpine" entry in the
compose file to the chosen pinned tag or digest and document the chosen patch
version.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a34db4f and 8bf9ee6.

📒 Files selected for processing (1)
  • docker-compose.databases.yml

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.

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