dotCMS / dotCMS/core

pg-base backup image pins postgresql-client-16 — bump to 18 and add --no-install-recommends

Open Beginner friendly
#36,811 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Team : Enablement
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

docker/pg-base exists solely to carry pg_dump for backup jobs. Two issues with its install line:

  1. Version pin is a latent backup-breaker. pg_dump can dump servers older or equal to its own major, and refuses newer ones. Current production RDS (surveyed 2026-07-29 across us-east-1, ca-central-1, eu-central-1, ap-southeast-2 with the cloud profile) runs PostgreSQL 15.15–15.17, so client-16 works today — but the rest of the repo (dev image, java-base, main image, all compose stacks) is already on PG18, and the day any backed-up database upgrades past 16, dumps hard-fail. Bumping to postgresql-client-18 is strictly safe (dumps ≤18) and future-proofs the image.

  2. Missing --no-install-recommends — the one apt install in shipped Dockerfiles still lacking it (same recommends-chain exposure class as #36806, which broke a release build).

Side observation for the platform team: dev/test stacks run PG18 while all prod databases run 15.x — a three-major parity gap worth its own discussion.

Fix: apt install -y --no-install-recommends postgresql-client-18.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in docker/pg-base and locate the Dockerfile install line for the PostgreSQL client. Update the package and apt options as specified, then build the pg-base image and confirm the backup image uses the intended client version without recommended packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, postgresql
Domain
databases, devops
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.