[SCM] PostGIS branch master updated. 3.7.0beta1-246-g39bf9d6a75
git at osgeo.org
git at osgeo.org
Sat Aug 8 22:06: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 39bf9d6a75e43a9c75f7b06ed23facb8f4ea3edd (commit)
via 6e70ac547130f53432bd174a19a755f6d5ceca4f (commit)
from 239c3ddb0370b02d2dabda0aafa31dc35423bed0 (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 39bf9d6a75e43a9c75f7b06ed23facb8f4ea3edd
Author: Regina Obe <lr at pcorp.us>
Date: Sun Aug 9 01:06:01 2026 -0400
Prep for 3.7.0beta2 release
diff --git a/NEWS b/NEWS
index 0d9e68a988..fb04f30d07 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
PostGIS 3.7.0beta2
-2026/xx/xx
+2026/08/08
This version requires GEOS 3.10+, PostgreSQL 14-19beta2, Proj 6.1+, libgmp.
To take advantage of all features postgis extension features, GEOS 3.15+ is needed.
To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed.
@@ -175,13 +175,9 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
- #5992, Optimize GiST index for repeated edge subdivision in topology (Darafei Praliaskouski)
- #5702, Allow the compiler to detect the parallelism -flto=auto (Darafei Praliaskouski)
- #4798, ST_AsGeoJSON warns about duplicate property keys (Darafei Praliaskouski)
- - #5950, Document POSTGIS_REGRESS_DB_OWNER for sandboxed regression roles (Darafei Praliaskouski)
- - #4332, Clarify the scope of several Function Reference categories (Darafei Praliaskouski)
- #4222, [raster] ST_DumpAsPolygons honours PostgreSQL interrupts (Darafei Praliaskouski)
- - #5109, Document the meaning of topology.next_left_edge and topology.next_right_edge links (Darafei Praliaskouski)
- #5889, [topology] Include representative locations in topology build errors (Darafei Praliaskouski)
- #2614, Use GEOSPreparedDistance and caching to accelerate ST_DWithin (Paul Ramsey)
- - #6022, Document ST_AsMVTGeom tile-coordinate simplification (Darafei Praliaskouski)
- GH-839, ST_Multi support for TIN and surfaces (Loïc Bartoletti)
- #4398, Add ST_CatmullSmoothing smoothes but retains original vertices (Paul Ramsey)
- #4560, ST_3DInterpolatePoint for M interpolation from XYZ inputs (Paul Ramsey)
@@ -189,13 +185,6 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
- GT-270, Add NURBSCurve (Loïc Bartoletti)
- #2863, Add ST_XSize, ST_YSize, ST_ZSize, and ST_MSize dimension helpers
(Darafei Praliaskouski)
- - [fuzzers] Centralize OSS-Fuzz build/dependency logic in PostGIS scripts,
- prefer requested CXX over pg_config --cc for internal C++ checks, and
- make fuzzer linking/runtime dependency packaging portable
- (Darafei Praliaskouski)
- - #1416, ST_AsX3D outputs NURBSCURVE as X3D NurbsCurve
- and linearizes other curve geometries
- (Darafei Praliaskouski)
* Enhancements *
- #2045, pgsql2shp query dumps no longer require temporary table
@@ -204,31 +193,21 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
to open shapefile sidecar files (Darafei Praliaskouski)
- #3158, Move geometry and geography typmod bit helpers out of the
public liblwgeom header (Darafei Praliaskouski)
+ - #3776, [raster] Keep distinct 32-bit integer pixel values separate in
+ ST_DumpAsPolygons (Darafei Praliaskouski)
- #4678, [raster] Move st_sum4ma neighborhood callback to C
(Darafei Praliaskouski)
- #2116, [raster] Add ST_Value nearest-neighbor boundary options
(Darafei Praliaskouski)
- #2804, #4315, [raster] Support two-argument ST_MapAlgebra callbacks
and pass callback call data as actual arguments (Darafei Praliaskouski)
- - #2898, Document SQL function cost tiers for contributors
- - #5638, Move and reorganize developer, maintainer, governance,
- website, internals, style, release-process, Trac wiki, and
- postgis.net documentation into doc/
- (Darafei Praliaskouski)
- #6062, [topology] Stop using recursive snapping, for improved robustness (Sandro Santilli)
- #6065, Improved winding order computation robustness for rings having collapsed elements
(Sandro Santilli)
- - #3743, #4385, [raster loader] Document raster2pgsql -s FROM_SRID:SRID
- reprojection support and clarify index creation timing for append loads
- (Darafei Praliaskouski)
- #2137, [raster] Reuse matching source raster overviews in raster2pgsql -l
(Darafei Praliaskouski)
- #4749, Use point-in-polygon predicate fast paths for point-only
GeometryCollections (Darafei Praliaskouski)
- - #5532, Validate the manual against DocBook XMLSchema in check-xml
- (Darafei Praliaskouski)
- - #6087, Add a repository-owned CI status checker and static dashboard
- generator (Darafei Praliaskouski)
- #2807, [raster] Preserve missing NODATA values in ST_MapAlgebra outputs
(Darafei Praliaskouski)
- #2832, [raster] Avoid padding single-tile raster2pgsql overviews
@@ -237,7 +216,6 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
shapefiles (Darafei Praliaskouski)
- #2850, Preserve pgsql2shp numeric precision and scale in DBF metadata
(Darafei Praliaskouski)
- - #2386, Add raster2pgsql man page (Darafei Praliaskouski)
- Build PostgreSQL extension modules with `-fno-semantic-interposition` when
available so LTO can optimize same-DSO calls to exported PostGIS
entry points directly instead of routing through the module PLT; in
@@ -249,13 +227,6 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
(Darafei Praliaskouski)
- #2808, Clarify postgis_full_version() output when installed component
scripts are newer than core scripts (Darafei Praliaskouski)
- - #5593, Docs: render manual images with GraphicsMagick without temporary files,
- enabling parallel builds, keeping ImageMagick fallbacks working, and
- documenting the generator workflow for contributors (Darafei Praliaskouski)
- - #5645, Docs: keep code operators ("=>") intact in translated manuals
- by enforcing verbatim CSS (Darafei Praliaskouski)
- - #1408, Docs: flatten transparent manual images onto white backgrounds for
- PDF builds while keeping HTML images transparent (Darafei Praliaskouski)
- #2838, Emit valid X3D Coordinate nodes for 2D polygon output
(Darafei Praliaskouski)
- GH-899, [raster] Honor PostgreSQL interrupts in long-running GDAL
@@ -268,16 +239,12 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
(Darafei Praliaskouski)
- #1986, ST_GeomFromGML support for GML ArcString and curved polygon rings
(Darafei Praliaskouski)
- - GH-1161, Render manual geometry examples as build-time SVG in HTML
- and PDF (Darafei Praliaskouski)
- #4749, Use point-in-polygon predicate fast paths for point-only
GeometryCollections, including ST_Disjoint (Darafei Praliaskouski)
- #3676, Mark geometry and geography btree comparison support functions
as leakproof (Darafei Praliaskouski)
- GH-875, Allow ST_OrderingEquals joins to use hash and merge join plans
(Darafei Praliaskouski)
- - #2557, #2805, Document ST_MapAlgebra callback argument
- signatures and return semantics (Darafei Praliaskouski)
- #1168, [raster] Support curved geometry inputs in ST_AsRaster
(Darafei Praliaskouski)
- #1416, ST_AsX3D outputs NURBSCURVE as X3D NurbsCurve
@@ -285,6 +252,11 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
(Darafei Praliaskouski)
- #3705, ST_AsX3D outputs valid coordinate nodes for 2D multi-geometries
and GeometryCollections (Darafei Praliaskouski)
+ - GT-484, Use column-level SELECT privileges for metadata views
+ (Arthur Bazin)
+ - #1408, #2386, #2557, #2805, #2898, #3743, #4323, #4332, #4385, #5109,
+ #5532, #5593, #5638, #5645, #5950, #6022, #6082, GH-1161, GT-584,
+ Numerous doc enhancements (Darafei Praliaskouski)
* Bug Fixes *
@@ -298,8 +270,6 @@ To take advantage of all postgis_sfcgal extension features SFCGAL 2.3+ is needed
(Darafei Praliaskouski)
- #5904, [topology] Avoid MinGW format warnings when logging topology ids
(Darafei Praliaskouski)
- - #6082, Fix Japanese PDF build by avoiding non-ASCII arrows in SQL
- program listings (Darafei Praliaskouski)
- GH-888, [sfcgal] Avoid stale detoasted geometry access in
CG_Visibility empty-input handling for SFCGAL < 2.2
(Darafei Praliaskouski)
diff --git a/Version.config b/Version.config
index 5576a8572d..d5b81dda4f 100644
--- a/Version.config
+++ b/Version.config
@@ -5,7 +5,7 @@
POSTGIS_MAJOR_VERSION=3
POSTGIS_MINOR_VERSION=7
-POSTGIS_MICRO_VERSION=0dev
+POSTGIS_MICRO_VERSION=0beta2
# Liblwgeom interface versioning, reset to 0:0:0 (cur:age:rev)
# when changing POSTGIS_MINOR_VERSION
commit 6e70ac547130f53432bd174a19a755f6d5ceca4f
Author: Regina Obe <lr at pcorp.us>
Date: Sat Aug 8 23:34:25 2026 -0400
More work on geometry_columns
- Get rid of aliases and just call the CTE s
- Prefilter for only check constraints
- reduce the timing on the tests and add partitioned table to the test
diff --git a/postgis/postgis.sql.in b/postgis/postgis.sql.in
index cd8cc4cb8d..5b77260c1a 100644
--- a/postgis/postgis.sql.in
+++ b/postgis/postgis.sql.in
@@ -6611,13 +6611,14 @@ LANGUAGE 'sql' STABLE STRICT PARALLEL SAFE _COST_MEDIUM;
-- Changed: 2.5.2 replace use of pg_constraint.consrc with pg_get_constraintdef, consrc removed pg12
CREATE OR REPLACE VIEW geometry_columns AS
-WITH constraint_defs AS NOT MATERIALIZED (
+WITH s AS NOT MATERIALIZED (
-- Trim trailing NOT VALID so metadata inference works before constraint validation (#4828).
SELECT connamespace,
conrelid,
conkey,
pg_catalog.regexp_replace(pg_catalog.pg_get_constraintdef(oid), $$\s+NOT\s+VALID$$, '', 'i') AS consrc
FROM pg_catalog.pg_constraint
+ WHERE contype OPERATOR(pg_catalog.=) 'c'::pg_catalog."char"
)
SELECT pg_catalog.current_database()::pg_catalog.varchar(256) AS f_table_catalog,
n.nspname AS f_table_schema,
@@ -6635,7 +6636,7 @@ SELECT pg_catalog.current_database()::pg_catalog.varchar(256) AS f_table_catalog
s.conrelid,
s.conkey,
(pg_catalog.regexp_match(s.consrc, $$geometrytype\(\w+\)\s*=\s*'(\w+)'$$, 'i'))[1]::pg_catalog.text AS type
- FROM constraint_defs AS s
+ FROM s
WHERE s.consrc OPERATOR(pg_catalog.~*) $$geometrytype\(\w+\)\s*=\s*'\w+'$$::pg_catalog.text
) st ON st.conrelid OPERATOR(pg_catalog.=) c.oid AND (a.attnum OPERATOR(pg_catalog.=) ANY (st.conkey))
LEFT JOIN (
@@ -6643,7 +6644,7 @@ SELECT pg_catalog.current_database()::pg_catalog.varchar(256) AS f_table_catalog
s.conrelid,
s.conkey,
(pg_catalog.regexp_match(s.consrc, $$ndims\(\w+\)\s*=\s*(\d+)$$, 'i'))[1]::integer AS ndims
- FROM constraint_defs AS s
+ FROM s
WHERE s.consrc OPERATOR(pg_catalog.~*) $$ndims\(\w+\)\s*=\s*\d+$$::pg_catalog.text
) sn ON sn.conrelid OPERATOR(pg_catalog.=) c.oid AND (a.attnum OPERATOR(pg_catalog.=) ANY (sn.conkey))
LEFT JOIN (
@@ -6651,7 +6652,7 @@ SELECT pg_catalog.current_database()::pg_catalog.varchar(256) AS f_table_catalog
s.conrelid,
s.conkey,
(pg_catalog.regexp_match(s.consrc, $$srid\(\w+\)\s*=\s*(\d+)$$, 'i'))[1]::integer As srid
- FROM constraint_defs AS s
+ FROM s
WHERE s.consrc OPERATOR(pg_catalog.~*) $$srid\(\w+\)\s*=\s*\d+$$::pg_catalog.text
) sr ON sr.conrelid OPERATOR(pg_catalog.=) c.oid AND (a.attnum OPERATOR(pg_catalog.=) ANY (sr.conkey))
WHERE (c.relkind OPERATOR(pg_catalog.=) ANY (ARRAY['r'::pg_catalog."char", 'v'::pg_catalog."char", 'm'::pg_catalog."char", 'f'::pg_catalog."char", 'p'::pg_catalog."char"]))
diff --git a/regress/core/tickets.sql b/regress/core/tickets.sql
index 80eb6d8b24..a7d47d5e60 100644
--- a/regress/core/tickets.sql
+++ b/regress/core/tickets.sql
@@ -1844,13 +1844,13 @@ DECLARE
n bigint;
tolerance interval;
BEGIN
- tolerance := interval '2 seconds' * COALESCE(
+ tolerance := interval '0.25 seconds' * COALESCE(
NULLIF(current_setting('test.executor_slow_factor', true), ''), '1'
)::double precision;
SELECT count(*) INTO n FROM geometry_columns
WHERE f_table_schema = 'test6110';
- IF n <> 1000 THEN
+ IF n <> 1501 THEN
RETURN 'FAIL: count=' || n || ' (expected 1000)';
END IF;
@@ -1871,11 +1871,14 @@ $$ LANGUAGE plpgsql;
DO $$
DECLARE i integer;
BEGIN
+ CREATE TABLE test6110.typmod_partition(id bigint, geom geometry(LINESTRING, 4269), part_key integer, CONSTRAINT pk_typmod_partition PRIMARY KEY(id, part_key))
+ PARTITION BY LIST (part_key);
FOR i IN 1..500 LOOP
EXECUTE format('CREATE TABLE test6110.typmod_%s (geom geometry(Point, 4326))', i);
EXECUTE format('CREATE TABLE test6110.constraint_%s (id integer)', i);
EXECUTE format('SELECT AddGeometryColumn(%L, %L, %L, 4326, %L, 2, false)',
'test6110', 'constraint_' || i, 'geom', 'POINT');
+ EXECUTE format('CREATE TABLE test6110.partition_%s PARTITION OF test6110.typmod_partition FOR VALUES IN(%s)', i, i);
END LOOP;
END
$$;
-----------------------------------------------------------------------
Summary of changes:
NEWS | 46 ++++++++--------------------------------------
Version.config | 2 +-
postgis/postgis.sql.in | 9 +++++----
regress/core/tickets.sql | 7 +++++--
4 files changed, 19 insertions(+), 45 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list