From 8ea35382db3436d54ab59bd30706705564b0985c Mon Sep 17 00:00:00 2001 From: Corey <coreyearleon@icloud.com> Date: Tue, 22 Oct 2024 11:29:22 -0700 Subject: [PATCH] feat: Add support for PostGIS 3.5 (#9354) --- .github/workflows/ci.yml | 19 +++++++++++-------- CONTRIBUTING.md | 4 ++-- README.md | 10 +++++----- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb85de3c5f..fdabbb75fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -235,17 +235,20 @@ jobs: - name: PostgreSQL 13, PostGIS 3.4 POSTGRES_IMAGE: postgis/postgis:13-3.4 NODE_VERSION: 22.4.1 - - name: PostgreSQL 14, PostGIS 3.4 - POSTGRES_IMAGE: postgis/postgis:14-3.4 + - name: PostgreSQL 13, PostGIS 3.5 + POSTGRES_IMAGE: postgis/postgis:13-3.5 NODE_VERSION: 22.4.1 - - name: PostgreSQL 15, PostGIS 3.4 - POSTGRES_IMAGE: postgis/postgis:15-3.4 + - name: PostgreSQL 14, PostGIS 3.5 + POSTGRES_IMAGE: postgis/postgis:14-3.5 NODE_VERSION: 22.4.1 - - name: PostgreSQL 16, PostGIS 3.4 - POSTGRES_IMAGE: postgis/postgis:16-3.4 + - name: PostgreSQL 15, PostGIS 3.5 + POSTGRES_IMAGE: postgis/postgis:15-3.5 NODE_VERSION: 22.4.1 - - name: PostgreSQL 17, PostGIS 3.4 - POSTGRES_IMAGE: postgis/postgis:17-3.4 + - name: PostgreSQL 16, PostGIS 3.5 + POSTGRES_IMAGE: postgis/postgis:16-3.5 + NODE_VERSION: 22.4.1 + - name: PostgreSQL 17, PostGIS 3.5 + POSTGRES_IMAGE: postgis/postgis:17-3.5 NODE_VERSION: 22.4.1 fail-fast: false name: ${{ matrix.name }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 991e21f867..b93134a84a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -272,7 +272,7 @@ If your pull request introduces a change that may affect the storage or retrieva [PostGIS images (select one with v2.2 or higher) on docker hub](https://hub.docker.com/r/postgis/postgis) is based off of the official [postgres](https://hub.docker.com/_/postgres) image and will work out-of-the-box (as long as you create a user with the necessary extensions for each of your Parse databases; see below). To launch the compatible Postgres instance, copy and paste the following line into your shell: ``` -docker run -d --name parse-postgres -p 5432:5432 -e POSTGRES_PASSWORD=password --rm postgis/postgis:16-3.4-alpine && sleep 20 && docker exec -it parse-postgres psql -U postgres -c 'CREATE DATABASE parse_server_postgres_adapter_test_database;' && docker exec -it parse-postgres psql -U postgres -c 'CREATE EXTENSION pgcrypto; CREATE EXTENSION postgis;' -d parse_server_postgres_adapter_test_database && docker exec -it parse-postgres psql -U postgres -c 'CREATE EXTENSION postgis_topology;' -d parse_server_postgres_adapter_test_database +docker run -d --name parse-postgres -p 5432:5432 -e POSTGRES_PASSWORD=password --rm postgis/postgis:17-3.5-alpine && sleep 20 && docker exec -it parse-postgres psql -U postgres -c 'CREATE DATABASE parse_server_postgres_adapter_test_database;' && docker exec -it parse-postgres psql -U postgres -c 'CREATE EXTENSION pgcrypto; CREATE EXTENSION postgis;' -d parse_server_postgres_adapter_test_database && docker exec -it parse-postgres psql -U postgres -c 'CREATE EXTENSION postgis_topology;' -d parse_server_postgres_adapter_test_database ``` To stop the Postgres instance: @@ -280,7 +280,7 @@ To stop the Postgres instance: docker stop parse-postgres ``` -You can also use the [postgis/postgis:16-3.4-alpine](https://hub.docker.com/r/postgis/postgis) image in a Dockerfile and copy this [script](https://github.com/parse-community/parse-server/blob/master/scripts/before_script_postgres.sh) to the image by adding the following lines: +You can also use the [postgis/postgis:17-3.5-alpine](https://hub.docker.com/r/postgis/postgis) image in a Dockerfile and copy this [script](https://github.com/parse-community/parse-server/blob/master/scripts/before_script_postgres.sh) to the image by adding the following lines: ``` #Install additional scripts. These are run in abc order during initial start diff --git a/README.md b/README.md index 3e0c31730c..da5be58f50 100644 --- a/README.md +++ b/README.md @@ -152,11 +152,11 @@ Parse Server is continuously tested with the most recent releases of PostgreSQL | Version | PostGIS Version | End-of-Life | Parse Server Support | Compatible | |-------------|--------------------|---------------|----------------------|------------| -| Postgres 13 | 3.1, 3.2, 3.3, 3.4 | November 2025 | <= 6.x (2023) | ✅ Yes | -| Postgres 14 | 3.4 | November 2026 | <= 7.x (2024) | ✅ Yes | -| Postgres 15 | 3.4 | November 2027 | <= 8.x (2025) | ✅ Yes | -| Postgres 16 | 3.4 | November 2028 | <= 9.x (2026) | ✅ Yes | -| Postgres 17 | 3.4 | November 2029 | <= 9.x (2026) | ✅ Yes | +| Postgres 13 | 3.1, 3.2, 3.3, 3.4, 3.5 | November 2025 | <= 6.x (2023) | ✅ Yes | +| Postgres 14 | 3.5 | November 2026 | <= 7.x (2024) | ✅ Yes | +| Postgres 15 | 3.5 | November 2027 | <= 8.x (2025) | ✅ Yes | +| Postgres 16 | 3.5 | November 2028 | <= 9.x (2026) | ✅ Yes | +| Postgres 17 | 3.5 | November 2029 | <= 9.x (2026) | ✅ Yes | ### Locally