我在Postgis和Postgresql中都非常环保。 我想更改表格中的geom列以更改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.
请帮忙。我想将参考坐标系更改为arc 1960。
答案 0 :(得分:0)
请仔细阅读错误消息:您无法更改表geom
上的列ponds_data
,因为视图vw_select_location
取决于它。
解决方案:首先将视图定义保存在文件中。您可以在pgadmin或psql中找到视图的定义。在psql中使用命令
\d+ vw_select_location
然后删除视图,更改列并使用之前保存的sql语句重新创建视图。