From 33921228243dec7c8fd3201537c7b27da4ae9c46 Mon Sep 17 00:00:00 2001 From: Alexey Masterov Date: Mon, 5 May 2025 13:41:21 +0200 Subject: [PATCH] Create a patch in order to fix problems running without superuser privileges --- docker-compose/docker-compose.yml | 5 +- .../postgis-src/postgis-regular-v17.patch | 164 ++++++++++++++++++ .../ext-src/postgis-src/regular-test.sh | 5 +- 3 files changed, 171 insertions(+), 3 deletions(-) create mode 100644 docker-compose/ext-src/postgis-src/postgis-regular-v17.patch diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 431a2f0a96..560cf08c84 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -188,11 +188,12 @@ services: profiles: ["test-extensions"] image: ${REPOSITORY:-ghcr.io/neondatabase}/neon-test-extensions-v${PG_TEST_VERSION:-${PG_VERSION:-16}}:${TEST_EXTENSIONS_TAG:-${TAG:-latest}} environment: - - PGPASSWORD=cloud_admin + - PGUSER=${PGUSER:-cloud_admin} + - PGPASSWORD=${PGPASSWORD:-cloud_admin} entrypoint: - "/bin/bash" - "-c" command: - - sleep 3600 + - sleep 360000 depends_on: - compute diff --git a/docker-compose/ext-src/postgis-src/postgis-regular-v17.patch b/docker-compose/ext-src/postgis-src/postgis-regular-v17.patch new file mode 100644 index 0000000000..a0246543b3 --- /dev/null +++ b/docker-compose/ext-src/postgis-src/postgis-regular-v17.patch @@ -0,0 +1,164 @@ +diff --git a/raster/test/regress/tests.mk b/raster/test/regress/tests.mk +index 00918e1..f06cf75 100644 +--- a/raster/test/regress/tests.mk ++++ b/raster/test/regress/tests.mk +@@ -18,7 +18,6 @@ override RUNTESTFLAGS_INTERNAL := \ + --after-upgrade-script $(top_srcdir)/raster/test/regress/hooks/hook-after-upgrade-raster.sql + + RASTER_TEST_FIRST = \ +- $(top_srcdir)/raster/test/regress/check_gdal \ + $(top_srcdir)/raster/test/regress/loader/load_outdb + + RASTER_TEST_LAST = \ +diff --git a/regress/core/binary.sql b/regress/core/binary.sql +index 7a36b65..ad78fc7 100644 +--- a/regress/core/binary.sql ++++ b/regress/core/binary.sql +@@ -1,4 +1,5 @@ + SET client_min_messages TO warning; ++ + CREATE SCHEMA tm; + + CREATE TABLE tm.geoms (id serial, g geometry); +@@ -31,24 +32,39 @@ SELECT st_force4d(g) FROM tm.geoms WHERE id < 15 ORDER BY id; + INSERT INTO tm.geoms(g) + SELECT st_setsrid(g,4326) FROM tm.geoms ORDER BY id; + +-COPY tm.geoms TO :tmpfile WITH BINARY; ++-- define temp file path ++\set tmpfile '/tmp/postgis_binary_test.dat' ++ ++-- export ++\set command '\\copy tm.geoms TO ':tmpfile' WITH (FORMAT BINARY)' ++:command ++ ++-- import + CREATE TABLE tm.geoms_in AS SELECT * FROM tm.geoms LIMIT 0; +-COPY tm.geoms_in FROM :tmpfile WITH BINARY; +-SELECT 'geometry', count(*) FROM tm.geoms_in i, tm.geoms o WHERE i.id = o.id +- AND ST_OrderingEquals(i.g, o.g); ++\set command '\\copy tm.geoms_in FROM ':tmpfile' WITH (FORMAT BINARY)' ++:command ++ ++SELECT 'geometry', count(*) FROM tm.geoms_in i, tm.geoms o ++WHERE i.id = o.id AND ST_OrderingEquals(i.g, o.g); + + CREATE TABLE tm.geogs AS SELECT id,g::geography FROM tm.geoms + WHERE geometrytype(g) NOT LIKE '%CURVE%' + AND geometrytype(g) NOT LIKE '%CIRCULAR%' + AND geometrytype(g) NOT LIKE '%SURFACE%' + AND geometrytype(g) NOT LIKE 'TRIANGLE%' +- AND geometrytype(g) NOT LIKE 'TIN%' +-; ++ AND geometrytype(g) NOT LIKE 'TIN%'; + +-COPY tm.geogs TO :tmpfile WITH BINARY; ++-- export ++\set command '\\copy tm.geogs TO ':tmpfile' WITH (FORMAT BINARY)' ++:command ++ ++-- import + CREATE TABLE tm.geogs_in AS SELECT * FROM tm.geogs LIMIT 0; +-COPY tm.geogs_in FROM :tmpfile WITH BINARY; +-SELECT 'geometry', count(*) FROM tm.geogs_in i, tm.geogs o WHERE i.id = o.id +- AND ST_OrderingEquals(i.g::geometry, o.g::geometry); ++\set command '\\copy tm.geogs_in FROM ':tmpfile' WITH (FORMAT BINARY)' ++:command ++ ++SELECT 'geometry', count(*) FROM tm.geogs_in i, tm.geogs o ++WHERE i.id = o.id AND ST_OrderingEquals(i.g::geometry, o.g::geometry); + + DROP SCHEMA tm CASCADE; ++ +diff --git a/regress/core/tests.mk b/regress/core/tests.mk +index 9e05244..a63a3e1 100644 +--- a/regress/core/tests.mk ++++ b/regress/core/tests.mk +@@ -16,14 +16,13 @@ POSTGIS_PGSQL_VERSION=170 + POSTGIS_GEOS_VERSION=31101 + HAVE_JSON=yes + HAVE_SPGIST=yes +-INTERRUPTTESTS=yes ++INTERRUPTTESTS=no + + current_dir := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) + + RUNTESTFLAGS_INTERNAL += \ + --before-upgrade-script $(top_srcdir)/regress/hooks/hook-before-upgrade.sql \ + --after-upgrade-script $(top_srcdir)/regress/hooks/hook-after-upgrade.sql \ +- --after-create-script $(top_srcdir)/regress/hooks/hook-after-create.sql \ + --before-uninstall-script $(top_srcdir)/regress/hooks/hook-before-uninstall.sql + + TESTS += \ +@@ -40,7 +39,6 @@ TESTS += \ + $(top_srcdir)/regress/core/dumppoints \ + $(top_srcdir)/regress/core/dumpsegments \ + $(top_srcdir)/regress/core/empty \ +- $(top_srcdir)/regress/core/estimatedextent \ + $(top_srcdir)/regress/core/forcecurve \ + $(top_srcdir)/regress/core/flatgeobuf \ + $(top_srcdir)/regress/core/frechet \ +@@ -60,7 +58,6 @@ TESTS += \ + $(top_srcdir)/regress/core/out_marc21 \ + $(top_srcdir)/regress/core/in_encodedpolyline \ + $(top_srcdir)/regress/core/iscollection \ +- $(top_srcdir)/regress/core/legacy \ + $(top_srcdir)/regress/core/letters \ + $(top_srcdir)/regress/core/lwgeom_regress \ + $(top_srcdir)/regress/core/measures \ +@@ -119,7 +116,6 @@ TESTS += \ + $(top_srcdir)/regress/core/temporal_knn \ + $(top_srcdir)/regress/core/tickets \ + $(top_srcdir)/regress/core/twkb \ +- $(top_srcdir)/regress/core/typmod \ + $(top_srcdir)/regress/core/wkb \ + $(top_srcdir)/regress/core/wkt \ + $(top_srcdir)/regress/core/wmsservers \ +@@ -143,8 +139,7 @@ TESTS += \ + $(top_srcdir)/regress/core/oriented_envelope \ + $(top_srcdir)/regress/core/point_coordinates \ + $(top_srcdir)/regress/core/out_geojson \ +- $(top_srcdir)/regress/core/wrapx \ +- $(top_srcdir)/regress/core/computed_columns ++ $(top_srcdir)/regress/core/wrapx + + # Slow slow tests + TESTS_SLOW = \ +diff --git a/regress/loader/tests.mk b/regress/loader/tests.mk +index ac4f8ad..4bad4fc 100644 +--- a/regress/loader/tests.mk ++++ b/regress/loader/tests.mk +@@ -38,7 +38,5 @@ TESTS += \ + $(top_srcdir)/regress/loader/Latin1 \ + $(top_srcdir)/regress/loader/Latin1-implicit \ + $(top_srcdir)/regress/loader/mfile \ +- $(top_srcdir)/regress/loader/TestSkipANALYZE \ +- $(top_srcdir)/regress/loader/TestANALYZE \ + $(top_srcdir)/regress/loader/CharNoWidth \ + +diff --git a/regress/run_test.pl b/regress/run_test.pl +index cac4b2e..4c7c82b 100755 +--- a/regress/run_test.pl ++++ b/regress/run_test.pl +@@ -238,7 +238,6 @@ $ENV{"LANG"} = "C"; + # Add locale info to the psql options + # Add pg12 precision suppression + my $PGOPTIONS = $ENV{"PGOPTIONS"}; +-$PGOPTIONS .= " -c lc_messages=C"; + $PGOPTIONS .= " -c client_min_messages=NOTICE"; + $PGOPTIONS .= " -c extra_float_digits=0"; + $ENV{"PGOPTIONS"} = $PGOPTIONS; +diff --git a/topology/test/tests.mk b/topology/test/tests.mk +index cbe2633..2c7c18f 100644 +--- a/topology/test/tests.mk ++++ b/topology/test/tests.mk +@@ -46,9 +46,7 @@ TESTS += \ + $(top_srcdir)/topology/test/regress/legacy_query.sql \ + $(top_srcdir)/topology/test/regress/legacy_validate.sql \ + $(top_srcdir)/topology/test/regress/polygonize.sql \ +- $(top_srcdir)/topology/test/regress/populate_topology_layer.sql \ + $(top_srcdir)/topology/test/regress/removeunusedprimitives.sql \ +- $(top_srcdir)/topology/test/regress/renametopogeometrycolumn.sql \ + $(top_srcdir)/topology/test/regress/renametopology.sql \ + $(top_srcdir)/topology/test/regress/share_sequences.sql \ + $(top_srcdir)/topology/test/regress/sqlmm.sql \ diff --git a/docker-compose/ext-src/postgis-src/regular-test.sh b/docker-compose/ext-src/postgis-src/regular-test.sh index 473335f6d2..254d92dbd1 100755 --- a/docker-compose/ext-src/postgis-src/regular-test.sh +++ b/docker-compose/ext-src/postgis-src/regular-test.sh @@ -3,11 +3,14 @@ set -ex cd "$(dirname "${0}")" dropdb --if-exist contrib_regression createdb contrib_regression -psql -c "ALTER DATABASE contrib_regression SET TimeZone='UTC'" \ +psql -d contrib_regression -c "ALTER DATABASE contrib_regression SET TimeZone='UTC'" \ -c "ALTER DATABASE contrib_regression SET DateStyle='ISO, MDY'" \ -c "CREATE EXTENSION postgis SCHEMA public" \ -c "CREATE EXTENSION postgis_topology" \ -c "CREATE EXTENSION postgis_tiger_geocoder CASCADE" \ -c "CREATE EXTENSION postgis_raster SCHEMA public" \ -c "CREATE EXTENSION postgis_sfcgal SCHEMA public" +patch -p1