You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AGE中集成PostgreSQL原生函数?

无需修改AGE代码集成PostgreSQL原生函数的方案
  • 用SQL函数封装后调用
    先在PostgreSQL里把目标原生函数封装成一个SQL函数,之后就能直接在AGE的Cypher查询里调用这个封装函数。比如要调用PostgreSQL的upper():

    CREATE OR REPLACE FUNCTION pg_upper(text) RETURNS text AS $$
      SELECT upper($1);
    $$ LANGUAGE SQL STABLE;
    

    然后在AGE查询里这么用:

    MATCH (n:Person)
    RETURN pg_upper(n.name) AS upper_name;
    
  • 直接用AGE的pgfunc语法调用
    AGE本身支持通过pgfunc()在Cypher里直接调用PostgreSQL原生函数,这是官方支持的方式,完全不用改AGE代码。比如调用无参函数current_date():

    RETURN pgfunc('current_date') AS today;
    

    带参数的情况直接传参就行:

    MATCH (n:Person)
    RETURN pgfunc('upper', n.name) AS upper_name;
    
  • 自定义操作符映射(可选)
    要是觉得pgfunc()写法不够简洁,可以在PostgreSQL里创建自定义操作符,映射到目标原生函数,之后在AGE查询里用操作符就行。比如给upper()加个操作符:

    CREATE OPERATOR ~> (
      LEFTARG = text,
      RIGHTARG = void,
      PROCEDURE = upper,
      RETURN TYPE = text
    );
    

    然后在AGE查询中使用:

    MATCH (n:Person)
    RETURN n.name ~> () AS upper_name;
    

内容的提问来源于stack exchange,提问作者Muhammad Abdullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 20:18:13