From 5c9acc1c3d0bfa53846fa5bd4187dbaa5f0c64be Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Mon, 29 Sep 2025 13:40:03 +0530 Subject: [PATCH] 1) Added PG 18 in the github runner. 2) Added PG 18 in the docker container file. --- .github/workflows/run-feature-tests-pg.yml | 2 +- .github/workflows/run-python-tests-pg.yml | 2 +- Dockerfile | 22 +++++++++++----------- docs/en_US/container_deployment.rst | 1 + docs/en_US/release_notes_9_9.rst | 3 ++- pkg/docker/entrypoint.sh | 3 ++- 6 files changed, 18 insertions(+), 15 deletions(-) diff --git a/.github/workflows/run-feature-tests-pg.yml b/.github/workflows/run-feature-tests-pg.yml index 3055c6104..11726e128 100644 --- a/.github/workflows/run-feature-tests-pg.yml +++ b/.github/workflows/run-feature-tests-pg.yml @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - pgver: [13, 14, 15, 16, 17] + pgver: [13, 14, 15, 16, 17, 18] runs-on: ubuntu-22.04 diff --git a/.github/workflows/run-python-tests-pg.yml b/.github/workflows/run-python-tests-pg.yml index 33272fffa..c669a3f52 100644 --- a/.github/workflows/run-python-tests-pg.yml +++ b/.github/workflows/run-python-tests-pg.yml @@ -21,7 +21,7 @@ jobs: fail-fast: false matrix: os: [macos-latest, ubuntu-22.04, windows-latest] - pgver: [13, 14, 15, 16, 17] + pgver: [13, 14, 15, 16, 17, 18] runs-on: ${{ matrix.os }} diff --git a/Dockerfile b/Dockerfile index d6e9341bf..7f7eeae84 100644 --- a/Dockerfile +++ b/Dockerfile @@ -120,21 +120,16 @@ RUN rm -rf /pgadmin4/docs/en_US/_build/html/_static/*.png # Create additional builders to get all of the PostgreSQL utilities ######################################################################### -FROM postgres:12-alpine AS pg12-builder FROM postgres:13-alpine AS pg13-builder FROM postgres:14-alpine AS pg14-builder FROM postgres:15-alpine AS pg15-builder FROM postgres:16-alpine AS pg16-builder FROM postgres:17-alpine AS pg17-builder +FROM postgres:18-alpine AS pg18-builder FROM alpine:latest AS tool-builder # Copy the PG binaries -COPY --from=pg12-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-12/ -COPY --from=pg12-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-12/ -COPY --from=pg12-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-12/ -COPY --from=pg12-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-12/ - COPY --from=pg13-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-13/ COPY --from=pg13-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-13/ COPY --from=pg13-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-13/ @@ -160,6 +155,11 @@ COPY --from=pg17-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-17/ COPY --from=pg17-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-17/ COPY --from=pg17-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-17/ +COPY --from=pg18-builder /usr/local/bin/pg_dump /usr/local/pgsql/pgsql-18/ +COPY --from=pg18-builder /usr/local/bin/pg_dumpall /usr/local/pgsql/pgsql-18/ +COPY --from=pg18-builder /usr/local/bin/pg_restore /usr/local/pgsql/pgsql-18/ +COPY --from=pg18-builder /usr/local/bin/psql /usr/local/pgsql/pgsql-18/ + ######################################################################### # Assemble everything into the final container. ######################################################################### @@ -171,12 +171,12 @@ COPY --from=env-builder /venv /venv # Copy in the tools COPY --from=tool-builder /usr/local/pgsql /usr/local/ -COPY --from=pg17-builder /usr/local/lib/libpq.so.5.17 /usr/lib/ -COPY --from=pg17-builder /usr/lib/libzstd.so.1.5.7 /usr/lib/ -COPY --from=pg17-builder /usr/lib/liblz4.so.1.10.0 /usr/lib/ +COPY --from=pg18-builder /usr/local/lib/libpq.so.5.18 /usr/lib/ +COPY --from=pg18-builder /usr/lib/libzstd.so.1.5.7 /usr/lib/ +COPY --from=pg18-builder /usr/lib/liblz4.so.1.10.0 /usr/lib/ -RUN ln -s libpq.so.5.17 /usr/lib/libpq.so.5 && \ - ln -s libpq.so.5.17 /usr/lib/libpq.so && \ +RUN ln -s libpq.so.5.18 /usr/lib/libpq.so.5 && \ + ln -s libpq.so.5.18 /usr/lib/libpq.so && \ ln -s libzstd.so.1.5.7 /usr/lib/libzstd.so.1 && \ ln -s liblz4.so.1.10.0 /usr/lib/liblz4.so.1 diff --git a/docs/en_US/container_deployment.rst b/docs/en_US/container_deployment.rst index 369ffa5c9..0b71a7ebe 100644 --- a/docs/en_US/container_deployment.rst +++ b/docs/en_US/container_deployment.rst @@ -53,6 +53,7 @@ The default binary paths set in the container are as follows: .. code-block:: bash DEFAULT_BINARY_PATHS = { + 'pg-18': '/usr/local/pgsql-18', 'pg-17': '/usr/local/pgsql-17', 'pg-16': '/usr/local/pgsql-16', 'pg-15': '/usr/local/pgsql-15', diff --git a/docs/en_US/release_notes_9_9.rst b/docs/en_US/release_notes_9_9.rst index 249d3e859..175c10ec1 100644 --- a/docs/en_US/release_notes_9_9.rst +++ b/docs/en_US/release_notes_9_9.rst @@ -22,6 +22,7 @@ New features | `Issue #6394 `_ - Added "MULTIRANGE_TYPE_NAME" option while creating a Range Type. | `Issue #6395 `_ - Added "SUBSCRIPT" option while creating a External Type. + | `Issue #8932 `_ - Added 'failover' and 'two_phase' parameter support in CREATE/ALTER SUBSCRIPTION for PostgreSQL v17+. Housekeeping ************ @@ -31,6 +32,6 @@ Bug fixes ********* | `Issue #9098 `_ - Fixed an issue where the query tool displayed 'default' instead of 'null' for null text data in the data output. - | `Issue #9158 `_ - Fixed an issue where saving the newly changed preferences was not reflecting on the preferences tab. | `Issue #9125 `_ - Fixed an issue where the pgAdmin configuration database wasn't being created on a fresh install when an external database was used for the configuration. | `Issue #9157 `_ - Fixed an issue where shortcuts are not working as expected on multiple keyboard layouts. + | `Issue #9158 `_ - Fixed an issue where saving the newly changed preferences was not reflecting on the preferences tab. diff --git a/pkg/docker/entrypoint.sh b/pkg/docker/entrypoint.sh index fffd56d3a..51ac88d21 100755 --- a/pkg/docker/entrypoint.sh +++ b/pkg/docker/entrypoint.sh @@ -48,7 +48,8 @@ CA_FILE = '/etc/ssl/certs/ca-certificates.crt' LOG_FILE = '/dev/null' HELP_PATH = '../../docs' DEFAULT_BINARY_PATHS = { - 'pg': '/usr/local/pgsql-17', + 'pg': '/usr/local/pgsql-18', + 'pg-18': '/usr/local/pgsql-18', 'pg-17': '/usr/local/pgsql-17', 'pg-16': '/usr/local/pgsql-16', 'pg-15': '/usr/local/pgsql-15',