2015-11-28 73 views
0

我在Postgis和Postgresql中都很綠。 我想改變我的表中的列GEOM爲了改變SRID但我收到此錯誤:如何更改Postgis中的SRID

cannot alter type of a column used by a view or rule 
DETAIL: rule _RETURN on view vw_select_location depends on column "geom" 
CONTEXT: SQL statement "ALTER TABLE public.ponds_data ALTER COLUMN geom TYPE geometry(PointZM, 4210) USING ST_SetSRID(geom,4210);" 
PL/pgSQL function updategeometrysrid(character varying,character varying,character varying,character varying,integer) line 81 at EXECUTE statement 
SQL statement "SELECT UpdateGeometrySRID('','',$1,$2,$3)" 
PL/pgSQL function updategeometrysrid(character varying,character varying,integer) line 5 at SQL statement. 

請幫助。我想將參考座標系更改爲圓弧1960.

回答

0

仔細閱讀錯誤消息:您無法更改表ponds_data上的列geom,因爲視圖vw_select_location取決於它。

解決方案:首先將視圖定義保存在文件中。您可以在pgadmin或psql中找到視圖的定義。在PSQL使用命令

\d+ vw_select_location 

然後刪除視圖,更改列,並重新與您以前保存的SQL語句的看法。

相關問題