内容提要
PostGIS 3.7.0beta1发布,需配合PostgreSQL 19 Beta2和GEOS 3.15.0beta2使用,支持PostgreSQL 14-19beta2、GEOS 3.10+及Proj 6.1+。此版本修复了多个bug,如拓扑、ST_DFullyWithin索引及NURBS处理问题,并新增功能,包括GML ArcString支持、ST_AsRaster曲线输入及文档改进。升级需运行postgis_extensions_upgrade()。
延伸解读
版本兼容性要求
PostGIS 3.7.0beta1 需要 PostgreSQL 14 至 19beta2、GEOS 3.10 或更高版本,以及 Proj 6.1 或更高版本。若要使用全部功能,还需 GEOS 3.15 以上版本;若要使用所有 SFCGAL 功能,则需 SFCGAL 2.3.0 以上版本。升级前请确认您的环境满足这些依赖,否则可能无法正常安装或运行。
升级注意事项
从 PostGIS 3 系列升级时,安装新版本或执行 pg_upgrade 后,需运行 postgis_extensions_upgrade() 以升级所有 PostGIS 扩展。对于 PostGIS 2 系列,需先执行 ALTER EXTENSION postgis UPDATE,再运行 postgis_extensions_upgrade()。请务必在测试环境中先行验证升级流程,避免生产环境出现问题。
新功能亮点
此版本新增了多项功能:ST_GeomFromGML 支持 GML ArcString 和曲线多边形环;ST_AsRaster 支持曲线几何输入;点几何集合的 ST_Disjoint 等操作使用快速路径;ST_OrderingEquals 连接可利用哈希和合并连接计划。这些改进有助于提升特定场景下的性能和功能覆盖。
已知问题与反馈
作为测试版本,3.7.0beta1 可能仍存在未发现的问题。官方建议通过 ticket tracker 或邮件列表报告问题,并提供了查看 3.7.0beta1 里程碑所有票证的链接。用户在使用中遇到异常时,应详细记录环境信息和复现步骤,以便开发者定位和修复。
Q&A
PostGIS 3.7.0beta1 需要哪些版本的 PostgreSQL、GEOS 和 Proj?
PostGIS 3.7.0beta1 需要 PostgreSQL 14 到 19beta2、GEOS 3.10 或更高版本,以及 Proj 6.1 或更高版本。为了使用所有功能,建议使用 GEOS 3.15 或更高版本,以及 SFCGAL 2.3.0 或更高版本。
如何从 PostGIS 3 系列升级到 3.7.0beta1?
安装二进制文件或运行 pg_upgrade 后,对于 PostGIS 3 系列,执行 SELECT postgis_extensions_upgrade(); 即可升级所有 PostGIS 扩展。对于 PostGIS 2 系列,需要先执行 ALTER EXTENSION postgis UPDATE; 然后再执行 SELECT postgis_extensions_upgrade();。
PostGIS 3.7.0beta1 修复了哪些与拓扑相关的 bug?
修复了多个拓扑相关的 bug,包括:适应 GEOS 3.15 的线合并(GH-1160)、清理 TopoRingIsCCW 的提前返回(GH-1143)、修复损坏的列回退变量(GH-1149)、保留边包装器中的大 ID(GH-1153)、保留顶点-线段邻近辅助函数中的大边 ID(GH-1139)、在 TopoGeometry 构造中保留精确的零容差(GH-1151)、强制最大边限制(GH-1152)以及安全引用 TotalTopologySize 目录 regclass(GH-1154)。
PostGIS 3.7.0beta1 新增了哪些功能?
新增功能包括:ST_GeomFromGML 支持 GML ArcString 和曲线多边形环(#1986)、ST_AsRaster 支持曲线几何输入(#1168)、在 HTML 和 PDF 文档中渲染手动几何示例为 SVG(GH-1161)、使用点-多边形谓词快速路径处理仅包含点的 GeometryCollections(#4749)、将几何和地理的 btree 比较支持函数标记为 leakproof(#3676)、允许 ST_OrderingEquals 连接使用哈希和合并连接计划(GH-875),以及文档改进(#2557, #2805)。
PostGIS 3.7.0beta1 修复了哪些与 NURBS 相关的问题?
修复了 NURBS 相关的两个问题:GH-1140 限制了 NURBS WKT 节点重数,GH-1141 拒绝溢出的 NURBS 线性化段计数。此外,还修复了在 ppc64el 上预处理 NURBS 注释时 SQL 生成的问题(#6093)。
PostGIS 3.7.0beta1 对 ST_DFullyWithin 索引有什么修复?
修复了 ST_DFullyWithin 的索引计划和大型坐标环方向精度回归问题(GH-898)。