Postgresql 为Hasura编写Postgres函数

Postgresql 为Hasura编写Postgres函数,postgresql,postgis,hasura,Postgresql,Postgis,Hasura,我正在学习Hasura和Postgres,以便在我的项目中获得Postgis支持。在学习hasura的过程中,我遇到了hasura可以跟踪的Postgres函数,我可以将它们用作常规突变 现在,除了博士后,我知道Hasura是如何工作的,现在对我来说,博士后的不同领域很简单。但我试图创建Postgres函数,但总是失败,因为我不知道我在做什么。所以我去了hasura,这样我可以找到一些可以帮助我的东西,所以我发现了这个 CREATE FUNCTION search_landmarks_near_

我正在学习Hasura和Postgres,以便在我的项目中获得Postgis支持。在学习hasura的过程中,我遇到了hasura可以跟踪的Postgres函数,我可以将它们用作常规突变

现在,除了博士后,我知道Hasura是如何工作的,现在对我来说,博士后的不同领域很简单。但我试图创建Postgres函数,但总是失败,因为我不知道我在做什么。所以我去了hasura,这样我可以找到一些可以帮助我的东西,所以我发现了这个

CREATE FUNCTION search_landmarks_near_user(userid integer, distance_kms integer)
RETURNS SETOF user_landmarks AS $$
  SELECT  A.user_id, A.location,
  (SELECT json_agg(row_to_json(B)) FROM landmark B
   WHERE (
     ST_Distance(
       ST_Transform(B.location::Geometry, 3857),
       ST_Transform(A.location::Geometry, 3857)
     ) /1000) < distance_kms
   ) AS nearby_landmarks
  FROM user_location A where A.user_id = userid
$$ LANGUAGE sql STABLE;
现在在这里,外体是非常精细的,但在$$之后,混乱开始接管我。我在postgres中有这样一个表,它每秒包含一个点位置戳。


什么函数定义可以返回表中给定点附近的多个位置和单个位置。

Hasura默认支持这一点。检查此答案非常感谢:Hasura默认支持此选项。检查此答案非常感谢您: