postgresql create_graph函数不起作用

aiqt4smr  于 2023-05-06  发布在  PostgreSQL
关注(0)|答案(5)|浏览(257)

我做了:

test=# SET search_path = ag_catalog, "$user", public;

但是我仍然不能直接使用create_graph函数。

test=# create_graph('university');
ERROR:  syntax error at or near "create_graph"
LINE 1: create_graph('university');

为什么需要使用ag_catalog

test=# SELECT * FROM ag_catalog.create_graph('university');
xxls0lw8

xxls0lw81#

您的第一个查询不正确,因为您没有使用正确的语法。
这会有用的

new=# SELECT create_graph('university');
NOTICE:  graph "university" has been created
 create_graph 
--------------
 
(1 row)

但这个不会

new=# create_graph('university');
ERROR:  syntax error at or near "create_graph"
LINE 1: create_graph('university');
syqv5f0l

syqv5f0l2#

你不需要为你使用的每个apacheAGE函数使用ag_catalog。您可以用途:
SELECT * FROM create_graph('graph');
你需要SELECT *的原因是为了向后端给予结果给你,我相信所有的apacheAGE函数都需要它。

6g8kf2rb

6g8kf2rb3#

由于未能使用SELECT语句,您遇到语法错误,请尝试修改查询;

SELECT create_graph('university');

SELECT * FROM create_graph('university');
ssm49v7z

ssm49v7z4#

在第一个查询中有一个语法错误,应该是这样的:

SELECT * FROM ag_catalog.create_graph('graph_name');

如果你不想每次执行查询时都写ag_catalog,那么你应该设置search_path如下:

SET search_path to ag_catalog;

这是因为create_graph存在于ag_catalog命名空间中,因此,您需要使用search_path或通过添加ag_catalog.作为age中任何函数调用的前缀来将命名空间设置为ag_catalog

hmmo2u0o

hmmo2u0o5#

如果你已经运行了SET search_path = ag_catalog, "$user", public;,你不必使用ag_catalog来使用create_graph()函数,你可以简单地运行下面的命令而不需要ag_catalog,它应该可以工作:SELECT * FROM create_graph('university');

相关问题