【发布时间】:2018-04-30 04:10:43
【问题描述】:
我正在尝试运行 REFRESH MATERIALIZED VIEW CONCURRENTLY recipe_search;,但 PostgreSQL 给了我这个错误:ERROR 55000 (object_not_in_prerequisite_state): cannot refresh materialized view "public.recipe_search" concurrently。
有问题的物化视图在psql 中如下所示:
# \d recipe_search
Materialized view "public.recipe_search"
Column | Type | Modifiers
----------+------------------------+-----------
id | integer |
title | character varying(255) |
document | tsvector |
Indexes:
"recipe_search_document_index" gin (document)
"recipe_search_title_trgm_index" gin (title gin_trgm_ops)
为什么我不能同时刷新?
【问题讨论】:
-
有人对此投了反对票。如果您对我回答自己的问题感到生气,请参阅stackoverflow.com/help/self-answer。当我遇到这个问题时,我在网上搜索了这个错误消息,但没有找到任何有用的信息。在我解决了这个问题之后,我来这里记录它,以便将来的搜索者可以找到它。这完全符合 StackOverflow 的使命。
-
自答题是可以的,但自答题并不影响问题的质量。您的问题缺少重现问题所需的信息。除此之外,搜索错误消息会给我stackoverflow.com/questions/41803781/…,这看起来是一个骗局,并且那里的评论表明错误消息后面应该有一个提示,这在您的问题中不存在。 (不,我没有投票,至少现在还没有。在这里发布它的想法确实不错。)
-
@hvd 我没有看到提示,因为我正在通过触发器和数据库库运行
REFRESH- 如果我直接通过 psql 尝试REFRESH,我确实看到了。我可能应该添加视图的\d;我已经相应地更新了这个问题。但我想要完成的主要事情是启用搜索此错误消息以找到解决方案。
标签: postgresql