PostGIS
切换深色/浅色/自动模式 - PostGIS 空间数据库 切换深色/浅色/自动模式 - PostGIS 空间数据库 切换深色/浅色/自动模式 - PostGIS 空间数据库 返回主页 - PostGIS 空间数据库

修复损坏的 PostGIS 光栅安装

从 PostGIS 3.0 开始,PostGIS 光栅支持不再是 postgis 扩展的一部分,而是分拆为一个名为 postgis_raster 的 PostGIS 扩展。

从 2.* 升级光栅至 3.* 介绍了从 PostGIS 2+ 升级到 PostGIS 3+ 的正确方法。

不幸的是,许多人在支票中看到“UNPACKAGED”通知时会惊慌失措

SELECT postgis_full_extension()

尝试级联删除栅格类型。删除栅格类型不会删除所有栅格函数,但销毁所有栅格数据(如果有)。不要这样做。但如果你碰巧这样做了,这个解决方案适合你。

破坏栅格安装后的唯一解决方案是删除 PostGIS 栅格功能的剩余部分。在这一点上,你可以使用 CREATE EXENSION postgis_raster 重新安装,或者如果你不需要栅格支持,也可以不用理会。

你怎么知道你的栅格安装已损坏?

如果你运行

ALTER EXTENSION postgis UPDATE;

-- yes run it twice
SELECT postgis_extensions_upgrade();
SELECT postgis_extensions_upgrade();

然后检查

SELECT postgis_full_version();

你仍然会看到消息 RASTER (raster lib from "2.5.3 r17699" need upgrade) [UNPACKAGED!]

你的栅格功能已损坏得很严重,无法升级。

在做任何事情之前,首先确认你没有栅格表。以下查询应该出错或返回 0

SELECT count(1) FROM raster_columns;

要解决此问题,请运行脚本 uninstall_rtpostgis.sql。它应该删除旧版本的 PostGIS 栅格函数,因为旧版本的函数集通常是 2.5 的子集。

现在要确认它已全部消失,请再次运行以下内容。

SELECT postgis_full_version();

你现在应该看不到任何提及RASTERGDAL 的内容。