-
-
Notifications
You must be signed in to change notification settings - Fork 1
⬆️ Bump postgres from 17 to 18 in /phantom #93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Bumps postgres from 17 to 18. --- updated-dependencies: - dependency-name: postgres dependency-version: '18' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
WalkthroughUpdated Docker Compose to use PostgreSQL image version 18 for the nextcloud-postgres service, replacing version 17. No other changes. Changes
Pre-merge checks and finishing touches✅ Passed checks (4 passed)
✨ Finishing touches🧪 Generate unit tests
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
phantom/nextcloud.compose.yaml
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/{compose.yaml,*.compose.yaml}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
**/{compose.yaml,*.compose.yaml}
: New compose.yaml files must match the established style and structure of existing compose files
Services protected by Authentik must include depends_on: - authentik-server
Services behind Caddy must include depends_on: - caddy
Order keys within each service definition alphabetically using the prescribed order: build, cap_add, command, container_name, depends_on, devices, entrypoint, env_file, environment, extends, group_add, healthcheck, hostname, image, networks, ports, restart, secrets, volumes
All services must mount host timezone and localtime:
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
Follow existing image tag patterns (e.g., use implicit :latest if that is the established convention)
Container names mirror the image name (image: namespace/name → container_name: name); exceptions allowed for private dependencies (service-dependency)
In compose files, reference per-service env files via env_file; use environment only for public, stable values
Define a network in the compose file of the service that needs to connect to another service; the peer service must not redefine it at the top level
Name internal networks connecting a service to a private dependency as [service]-[dependency] (e.g., taskcafe-postgres)
Persist data using named volumes rather than bind mounts
Files:
phantom/nextcloud.compose.yaml
**/!(*caddy).compose.yaml
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Service compose files for Caddy-exposed services must use the pre-declared caddy-{service} network without redeclaring it
Files:
phantom/nextcloud.compose.yaml
🔍 Remote MCP grep, tavily
Relevant Context for Reviewing Pull Request #93
-
The Docker Compose service
nextcloud-postgres
inphantom/nextcloud.compose.yaml
was originally configured to useimage: postgres:17
. This change updates it toimage: postgres:18
, and no other service configuration, networks, volumes, or environment variables were modified. -
PostgreSQL 18 was officially released on September 25, 2025. Key new features include:
- An asynchronous I/O subsystem yielding up to 3× better performance for sequential scans, bitmap heap scans, and vacuums.
- Support for virtual generated columns that compute values on read.
- The new
uuidv7()
function for timestamp-ordered UUIDs. - Built-in OAuth 2.0 authentication support.
- Enhancements to
pg_upgrade
, including retention of optimizer statistics. - Many optimizer, index, monitoring, and replication improvements.
-
Migration to PostgreSQL 18 is a major-version upgrade requiring one of:
- A dump/restore via
pg_dumpall
. - In-place upgrade with
pg_upgrade
(now preserving statistics by default). - Logical replication.
Notable compatibility considerations:
initdb
now enables data checksums by default (can be disabled with--no-data-checksums
).- MD5 password authentication is deprecated and will emit warnings.
- Time zone abbreviation handling has changed.
- CSV
COPY FROM
no longer treats\.
as an end-of-file marker. - Clusters using nondeterministic collations may need to reindex full-text search and trigram indexes after upgrade.
- A dump/restore via
-
No other occurrences of
postgres:18
were found in the repository beyond this one image tag update, indicating the upgrade is narrowly scoped to thenextcloud-postgres
service.
- POSTGRES_DB=nextcloud | ||
- POSTGRES_USER=nextcloud | ||
image: postgres:17 | ||
image: postgres:18 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Major-version bump will brick existing data volume.
Jumping straight from postgres:17
to postgres:18
while keeping the same persisted data directory will make the 18 server refuse to start (“database files are incompatible with server”); you must run pg_upgrade
, pg_dumpall
/restore, or otherwise migrate the cluster first. Please hold this change (or provide the migration tooling) before merging.
🤖 Prompt for AI Agents
In phantom/nextcloud.compose.yaml around line 77, the image was changed from
postgres:17 to postgres:18 which will break existing on-disk databases; either
revert the image back to postgres:17 to avoid automatic upgrade, or implement an
explicit migration path: add a one-shot migration service or script that runs
pg_upgrade (or pg_dumpall + restore) between the old data directory and a new
cluster, ensure the compose mounts separate data paths for pre- and post-upgrade
clusters, and document the exact steps and backup/rollback procedure; do not
merge the version bump without including the migration tooling and instructions.
Bumps postgres from 17 to 18.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)Summary by CodeRabbit