[SCM] PostGIS branch master updated. 3.6.0rc2-662-gd9cdac922

git at osgeo.org git at osgeo.org
Tue Jun 23 23:42:19 PDT 2026


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".

The branch, master has been updated
       via  d9cdac922f99e86154f7ab04392280c61c87c912 (commit)
      from  7f94427119f424f36bf7a0b0d40dcdc32e2b6fdf (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d9cdac922f99e86154f7ab04392280c61c87c912
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Sat Jun 20 12:10:52 2026 +0400

    Add pg_upgrade coverage to Woodie CI
    
    Add a Woodpecker regression step that installs the PostgreSQL 14 and 18 builds, then runs the cluster upgrade helper across them.
    
    Seed that upgrade with a geography table shape matching the failure reported in ticket #5899, so pg_upgrade coverage exercises PostGIS data before postgis_extensions_upgrade().
    
    Make the helper initialize newer target clusters without data checksums when supported, matching the historical default used by older clusters, and stop the upgraded cluster during cleanup.
    
    Closes #5995 for PostGIS 3.7.0
    Closes https://github.com/postgis/postgis/pull/1028
    Closes https://gitea.osgeo.org/postgis/postgis/pulls/298

diff --git a/.woodpecker/regress.yml b/.woodpecker/regress.yml
index 209af1a2a..f516bc4b3 100644
--- a/.woodpecker/regress.yml
+++ b/.woodpecker/regress.yml
@@ -131,3 +131,11 @@ steps:
       - <<: *steps-start-postgresql
       - <<: *steps-pg-install
       - <<: *steps-pg-test-all-upgrades
+
+  cluster-upgradecheck-pg14-to-pg18:
+    image: *test-image
+    depends_on: [ installcheck-pg14, installcheck-pg18 ]
+    commands:
+      - make -C build/pg14 install
+      - make -C build/pg18 install
+      - su postgres -c 'utils/check_cluster_upgrade.sh -i regress/hooks/cluster-upgrade-geography.sql /usr/lib/postgresql/14/bin/pg_config /usr/lib/postgresql/18/bin/pg_config'
diff --git a/regress/hooks/cluster-upgrade-geography.sql b/regress/hooks/cluster-upgrade-geography.sql
new file mode 100644
index 000000000..05fbbd318
--- /dev/null
+++ b/regress/hooks/cluster-upgrade-geography.sql
@@ -0,0 +1,13 @@
+CREATE EXTENSION postgis;
+
+CREATE SCHEMA procsch;
+
+CREATE TABLE procsch."MyTab" (
+    "id" bigint,
+    "loc" public.geography(Point, 4283)
+);
+
+INSERT INTO procsch."MyTab"
+VALUES (1, 'SRID=4283;POINT(152.138672 -30.689888)'::geography);
+
+SELECT count(*) FROM procsch."MyTab";
diff --git a/utils/check_cluster_upgrade.sh b/utils/check_cluster_upgrade.sh
index 56b204be8..972279d7d 100755
--- a/utils/check_cluster_upgrade.sh
+++ b/utils/check_cluster_upgrade.sh
@@ -16,8 +16,15 @@ usage() {
 
 cleanup() {
   echo "-- Cleaning up --"
-  echo "Stopping postmaster on ${DATADIR} up"
-  ${BIN_OLD}/pg_ctl -D ${DATADIR} stop
+  if test -f "${DATADIR}/postmaster.pid"; then
+    if test -n "${BIN_NEW}"; then
+      echo "Stopping postmaster on ${DATADIR}"
+      ${BIN_NEW}/pg_ctl -D ${DATADIR} stop
+    else
+      echo "Stopping postmaster on ${DATADIR}"
+      ${BIN_OLD}/pg_ctl -D ${DATADIR} stop
+    fi
+  fi
   echo "Removing ${TMPDIR}"
   rm -rf ${TMPDIR}
 }
@@ -56,6 +63,11 @@ if test -z "$PG_CONFIG_NEW"; then
   exit 1
 fi
 
+if test "$(id -u)" = "0"; then
+  echo "This script must be run as an unprivileged PostgreSQL cluster owner, not root" >&2
+  exit 1
+fi
+
 if test "$PG_CONFIG_OLD" = "$PG_CONFIG_NEW"; then
   echo "Old and new pg_config paths need be different" >&2
   exit 1
@@ -64,6 +76,11 @@ fi
 BIN_OLD=$(${PG_CONFIG_OLD} --bindir)
 BIN_NEW=$(${PG_CONFIG_NEW} --bindir)
 
+INITDB_NEW_OPTS=
+if ${BIN_NEW}/initdb --help | grep -q -- "--no-data-checksums"; then
+  INITDB_NEW_OPTS=--no-data-checksums
+fi
+
 echo "Testing cluster upgrade"
 echo "FROM: $(${PG_CONFIG_OLD} --version)"
 echo "  TO: $(${PG_CONFIG_NEW} --version)"
@@ -104,7 +121,7 @@ mv ${DATADIR} ${PGDATAOLD}
 export PGDATANEW=${DATADIR}
 
 echo "Creating TO cluster"
-${BIN_NEW}/initdb ${PGDATANEW} > ${LOGFILE} 2>&1 || {
+${BIN_NEW}/initdb ${INITDB_NEW_OPTS} ${PGDATANEW} > ${LOGFILE} 2>&1 || {
   cat ${LOGFILE} && exit 1
 }
 

-----------------------------------------------------------------------

Summary of changes:
 .woodpecker/regress.yml                     |  8 ++++++++
 regress/hooks/cluster-upgrade-geography.sql | 13 +++++++++++++
 utils/check_cluster_upgrade.sh              | 23 ++++++++++++++++++++---
 3 files changed, 41 insertions(+), 3 deletions(-)
 create mode 100644 regress/hooks/cluster-upgrade-geography.sql


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list