PostGIS
切換深色/淺色/自動模式 - PostGIS 空間資料庫 切換深色/淺色/自動模式 - PostGIS 空間資料庫 切換深色/淺色/自動模式 - PostGIS 空間資料庫 返回首頁 - PostGIS 空間資料庫

修復已損毀的 postgis raster 安裝

PostGIS 3.0 起,PostGIS raster 支援不再是 postgis 延伸套件的一部份,而是成為一個名為 postgis_raster 的 PostGIS 延伸套件。

從 2.* 升級 raster 至 3.*說明如何正確地從 PostGIS 2+ 升級到 PostGIS 3+。

不幸的是,當許多人在檢查

SELECT postgis_full_extension()

時看到「UNPACKAGED」的提示訊息,便驚慌失措地嘗試以串接的方式刪除 raster 類型。刪除 raster 類型並不會移除所有 raster 功能,但毀損您所有的 raster 資料(如果您有)。不要這樣做。但如果您已經這樣做了,這個解決方案是適合您的。

損壞 raster 安裝後,唯一的解決方案是移除 postgis raster 功能的剩餘部分。在那時,您可以使用 CREATE EXENSION postgis_raster 重新安裝,或者如果您不需要 raster 支援,則不需理會。

您怎麼知道您的 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!]

表示您的 raster 功能損毀嚴重,無法升級。

在進行任何操作之前,請先確認您沒有任何 raster 表格。以下查詢應會產生錯誤或傳回 0

SELECT count(1) FROM raster_columns;

若要解決此問題,請執行腳本 uninstall_rtpostgis.sql。它應該移除較早版本 PostGIS 柵格函數,因為較早版本的函數組通常是 2.5 的子集。

現在再次執行以下內容以確認所有問題都已清除。

SELECT postgis_full_version();

現在你應該看不到任何提到 RASTERGDAL 的內容。