postgresql Apache AGE -创建实体化视图错误

fdbelqdn  于 2023-04-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(140)

我想从标签表创建一个物化视图,然后在其上创建索引。但是,当我键入查询以创建此视图时,postgres弹出一个错误。
下面是我键入的查询,用于返回包含“Book”标签的所有顶点:

demo=# SELECT * FROM cypher ('demo', $$
demo$# MATCH (v:Book)
demo$# RETURN v
demo$# $$) as (vertex agtype);
                                                                vertex
---------------------------------------------------------------------------------------------------------------------------------------
 {"id": 1125899906842625, "label": "Book", "properties": {"title": "The Hobbit"}}::vertex
 {"id": 1125899906842626, "label": "Book", "properties": {"title": "SPQR: A History of Ancient Rome", "author": "Mary Beard"}}::vertex
(2 rows)

下面是我创建物化视图的方法:

demo=# CREATE MATERIALIZED VIEW book_view AS SELECT * FROM cypher ('demo', $$
MATCH (v:Book)
RETURN v.author, v.title
$$) as (author agtype, title agtype);

ERROR:  unhandled cypher(cstring) function call
DETAIL:  demo
xvw2m8pv

xvw2m8pv1#

您可以尝试一种变通方法,首先创建一个临时表,然后用Cypher查询的结果填充它。然后,使用临时表中的数据创建实体化视图。使用以下步骤:

  • 创建一个临时表来存储Cypher查询的结果
  • 使用临时表中的数据创建示例化视图
  • 也可以在示例化视图上创建索引

相关问题