Skip to content

fix: pin postgres image to bookworm in docker_example#13027

Merged
erichare merged 4 commits into
release-1.10.0from
fix/postgres-version
May 7, 2026
Merged

fix: pin postgres image to bookworm in docker_example#13027
erichare merged 4 commits into
release-1.10.0from
fix/postgres-version

Conversation

@erichare
Copy link
Copy Markdown
Collaborator

@erichare erichare commented May 7, 2026

Summary

Pin the PostgreSQL image in docker_example/ from postgres:16 to postgres:16-bookworm to prevent a recurring collation version mismatch warning on existing langflow-postgres volumes.

Background

Users running Langflow with the example docker-compose.yml and pull_policy: always see this warning after Docker Hub silently rolled the postgres:16 tag from Debian Bookworm (glibc 2.36) to Debian Trixie (glibc 2.41):

WARNING: database "langflow" has a collation version mismatch
DETAIL: The database was created using collation version 2.36, but the
operating system provides version 2.41.

The warning is harmless in most cases but floods logs and creates user confusion. Reported in #9608.

Root cause

docker_example/docker-compose.yml used postgres:16 without a base-OS qualifier. When Docker Hub updated postgres:16 from a Bookworm-based build to a Trixie-based build, any user with pull_policy: always pulled the new image and started it against a data directory initialized under the older glibc collation version.

Fix

Bookworm specifically (vs. Trixie) keeps the OS locale data stable for users with pre-existing volumes initialized under glibc 2.36, while still receiving 16.x patch updates.

Test plan

  • docker compose -f docker_example/docker-compose.yml up starts cleanly
  • No collation version mismatch warning on container startup
  • Existing langflow-postgres volumes (initialized under glibc 2.36) start without the warning
  • langflow service can still connect to the pinned postgres

…ation mismatch

The postgres:16 tag silently moved its base from Debian Bookworm
(glibc 2.36) to Trixie (glibc 2.41), causing a recurring collation
version mismatch warning on existing langflow-postgres volumes.

Pin to postgres:16-bookworm in both docker-compose files and update
the README so existing data volumes keep matching the OS locale data.

Refs: #9608
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 7, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 35f19074-8cbd-4c90-aa16-29fac19926b3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/postgres-version

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.

@github-actions github-actions Bot added the bug Something isn't working label May 7, 2026
Mirror the docker_example pin in the four current docs that publish
copyable Compose snippets pairing postgres:16 with a persistent
langflow-postgres volume. Prevents the same Bookworm-to-Trixie
collation version mismatch warning when users follow docs instead
of docker_example.

Versioned historical docs are left as-is.

Refs: #9608
@github-actions github-actions Bot added bug Something isn't working and removed bug Something isn't working labels May 7, 2026
@github-actions

This comment has been minimized.

Copy link
Copy Markdown
Collaborator

@vjgit96 vjgit96 left a comment

Choose a reason for hiding this comment

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

we recently updated deb base image to trixie from bookworm(buid-time) so just curious to know why not trixie and just bookworm?

Aligns the pinned postgres base with the langflow runtime image, which
moved to Debian Trixie in #12990. Keeping postgres on bookworm would
have diverged the stack and locked the database to an aging glibc that
will receive fewer security backports as bookworm ages into oldstable.

The pin itself still solves the original bug — postgres:16 cannot
silently roll its OS underneath an existing volume.

Document the one-time REFRESH COLLATION VERSION step for users
upgrading from a bookworm-initialized volume in docker_example/README.md.

Refs: #9608
@github-actions github-actions Bot added bug Something isn't working and removed bug Something isn't working labels May 7, 2026
@github-actions

This comment has been minimized.

@github-actions github-actions Bot added lgtm This PR has been approved by a maintainer bug Something isn't working and removed bug Something isn't working labels May 7, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

Build successful! ✅
Deploying docs draft.
Deploy successful! View draft

@erichare erichare added this pull request to the merge queue May 7, 2026
Merged via the queue into release-1.10.0 with commit 7504eb4 May 7, 2026
22 checks passed
@erichare erichare deleted the fix/postgres-version branch May 7, 2026 20:22
erichare added a commit that referenced this pull request May 14, 2026
* fix: pin postgres image to bookworm in docker_example to prevent collation mismatch

The postgres:16 tag silently moved its base from Debian Bookworm
(glibc 2.36) to Trixie (glibc 2.41), causing a recurring collation
version mismatch warning on existing langflow-postgres volumes.

Pin to postgres:16-bookworm in both docker-compose files and update
the README so existing data volumes keep matching the OS locale data.

Refs: #9608

* docs: pin postgres image to bookworm in current docs compose snippets

Mirror the docker_example pin in the four current docs that publish
copyable Compose snippets pairing postgres:16 with a persistent
langflow-postgres volume. Prevents the same Bookworm-to-Trixie
collation version mismatch warning when users follow docs instead
of docker_example.

Versioned historical docs are left as-is.

Refs: #9608

* fix: switch postgres pin from bookworm to trixie for OS consistency

Aligns the pinned postgres base with the langflow runtime image, which
moved to Debian Trixie in #12990. Keeping postgres on bookworm would
have diverged the stack and locked the database to an aging glibc that
will receive fewer security backports as bookworm ages into oldstable.

The pin itself still solves the original bug — postgres:16 cannot
silently roll its OS underneath an existing volume.

Document the one-time REFRESH COLLATION VERSION step for users
upgrading from a bookworm-initialized volume in docker_example/README.md.

Refs: #9608
(cherry picked from commit 7504eb4)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants