Postgresql触发器失败错误

Postgresql触发器失败错误,postgresql,Postgresql,我创建了一个触发器,当我运行触发器时,我得到了一个错误。将数据插入adpes.add_项目表时。我想扣动扳机。但是我犯了一个错误。我怎样才能解决这个问题?错误是 无法执行SQL。错误:错误:函数st_point(双精度,双精度)不存在第1行:…s.adpes_项目集geom=st_变换(st_SetGrid)(st_point)(n..^提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。查询:更新adpes.adpes_项目集geom=st_变换(st_SetGrid)(st

我创建了一个触发器,当我运行触发器时,我得到了一个错误。将数据插入adpes.add_项目表时。我想扣动扳机。但是我犯了一个错误。我怎样才能解决这个问题?错误是

无法执行SQL。错误:错误:函数st_point(双精度,双精度)不存在第1行:…s.adpes_项目集geom=st_变换(st_SetGrid)(st_point)(n..^提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。查询:更新adpes.adpes_项目集geom=st_变换(st_SetGrid)(st_point(new.project_lng::double precision,new.project_lat::double precision),4326),500000)上下文:PL/pgSQL函数在SQL语句的第3行添加_project_2()


您是否安装了postgis?是的,我安装了如果您只是尝试执行此操作:选择st_point(10::float,20::float)会发生什么?我会收到相同的错误。
CREATE OR REPLACE FUNCTION adpes.add_project_2()
  RETURNS trigger AS
$BODY$
BEGIN
    UPDATE adpes.adpes_project SET geom= st_transform(st_setsrid(st_point(project_lng::double precision,project_lat::double precision),4326),500000);
    UPDATE adpes.adpes_project t1 SET  k1k = t2.fish_id from spatial.fish_net_k1k t2 where st_intersects(t1.geom,t2.geom);
    UPDATE adpes.adpes_project t1 SET  k20k = t2.fish_id from spatial.fish_net_k20k t2 where st_intersects(t1.geom,t2.geom);
    UPDATE adpes.adpes_project t1 SET  pro_cluster_id =  (id::Text || ''  || k20k::Text)::bigint ;
    RETURN NEW;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION adpes.add_project_2()
  OWNER TO postgres;

CREATE TRIGGER add_project_2
  BEFORE INSERT
  ON adpes.adpes_project
  FOR EACH ROW
  EXECUTE PROCEDURE adpes.add_project_2();