我试图使用PostgreSQL中的cypher函数在我的Apache AGE图形数据库上执行Cypher查询,但遇到了错误。
下面是我尝试运行的查询:
SELECT * FROM cypher('g1', $$ MATCH (n) return n $$);
下面是我收到的错误消息:
ERROR: function cypher(unknown, unknown) does not exist
LINE 1: SELECT * FROM cypher('g1', $$ MATCH (n) return n $$);
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
我已经检查了是否安装了ApacheAGE扩展并将其添加到数据库中,并且在查询中使用了正确的图形名称(g1)。
我通过运行这个查询,仔细检查并确认AGE扩展已经安装。SELECT * FROM pg_extension WHERE extname = 'age';
如何解决此错误并在Apache AGE中成功执行Cypher查询?
1条答案
按热度按时间yhxst69z1#
首先,您的查询中有一个错误,正确的查询是
只有将search_path设置为
如果您没有像上面那样设置search_path,并且它是public的,则将第一个查询修改为
这是因为cypher函数存在于
ag_catalog
命名空间中,您需要使用search_path
将命名空间设置为ag_catalog
,或者在所有查询中使用ag_catalog.
作为所有函数名称的前缀。