feat: Add PostgreSQL 18 support#90
Conversation
91cc5a6 to
fb2ae91
Compare
Alphasite
left a comment
There was a problem hiding this comment.
I think this looks good to me. it looks similar to the other versions
|
@Alphasite Should we replace the default version to PG 18? |
|
I think that’s reasonable. We’d probably want to also add it to BBR if we did that then? Chris, Colin and I just added PG 15, 16 and 17. 18 also seems reasonable. |
Hi @Alphasite, I also prefer it, but we should release it as a new major release.
The BBR job already supports PG 15,16 and 17, and I've also replaced the default version to 18 inside the BBR job. |
|
did you want to merge this version? |
|
@Alphasite, I think we should first remove PG 11 and 13 from the release before we add a new version. |
|
@colins Can you please check the PR? |
Alphasite
left a comment
There was a problem hiding this comment.
I think it looks ok. I’m assuming it all compiles?
Yes, but let me verify it on a Noble image. We've faced a few issues this week on Ubuntu 26.04. |
# Conflicts: # ci/pipeline.yml # jobs/bbr-postgres-db/spec # jobs/postgres/spec
6cdd6ad to
df01e6f
Compare
There was a problem hiding this comment.
Pull request overview
Adds PostgreSQL 18 as a new packaged major version in this BOSH release, updates version-selection defaults/docs, and extends the CI pipeline to track/bump the new upstream source.
Changes:
- Add a new
postgres-18package (spec + packaging script) to build from upstreampostgresql-18.*.tar.gz. - Update job specs and the
used_postgresql_versions.ymlmapping to include Postgres 18 and set the default major version to 18. - Extend the Concourse pipeline to fetch and bump the Postgres 18 source tarball.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates documented default PostgreSQL major version and supported versions list. |
| packages/postgres-18/spec | Declares the new Postgres 18 source blob pattern. |
| packages/postgres-18/packaging | Adds build script for compiling/installing Postgres 18. |
| jobs/postgres/templates/used_postgresql_versions.yml | Adds Postgres 18 version mapping and changes default major version. |
| jobs/postgres/spec | Includes postgres-18 package and changes the default databases.version. |
| jobs/bbr-postgres-db/spec | Includes postgres-18 package and changes the default postgres.version. |
| ci/pipeline.yml | Adds postgres-18-src resource and a bump task for Postgres 18. |
Comments suppressed due to low confidence (1)
jobs/postgres/templates/used_postgresql_versions.yml:7
- The
17minor version is set to17.4, but the repo’s current blob ispostgres/postgresql-17.9.tar.gz(seeconfig/blobs.yml). This mismatch can cause the release to reference a PostgreSQL version that isn’t available as a blob. Updateused_postgresql_versions.ymlto match the blob version (or add the corresponding blob) and remove the conflicting17entry.
17:
minor_version: "17.4"
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| Property | Description | ||
| -------- | ------------- | ||
| databases.version | Define the used PostgreSQL major version. Default: 16 | ||
| databases.version | Define the used PostgreSQL major version. Default: 18. Supported versions: 13, 15, 16, 17, 18 |
| @@ -49,5 +50,5 @@ properties: | |||
| default: false | |||
| description: "uses singele transaction when restoring databases" | |||
| default: 18 | ||
| major_version: | ||
| 18: | ||
| minor_version: "18.2" |
| secret_access_key: ((postgres-release-blobstore-user.password)) | ||
| - task: bump-postgres-18-package | ||
| file: postgres-release/ci/tasks/bump-postgres-packages/task.yml | ||
| image: bosh-cli-registry-image |
| - task: bump-yq-package | ||
| file: postgres-release/ci/tasks/bump-yq-packages/task.yml | ||
| image: bosh-integration-image | ||
| params: | ||
| PRIVATE_YML: | | ||
| blobstore: | ||
| options: | ||
| access_key_id: ((postgres-release-blobstore-user.username)) | ||
| secret_access_key: ((postgres-release-blobstore-user.password)) |
Should be discussed:
Should we add PG 18 as default version?