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

Navicat for PostgreSQL中GRANT REFRESH权限报错问题求助

问题原因及解决方案

直接语法错误原因

你的错误信息显示实际执行的是EXPLAIN GRANT ...,而EXPLAIN仅用于分析SELECT、INSERT、UPDATE、DELETE等语句的执行计划,不能和GRANT命令搭配使用。这大概率是你在Navicat中误操作,比如点击了“解释”按钮而非“执行”按钮,导致工具自动在命令前添加了EXPLAIN关键字,从而触发语法错误。

PostgreSQL中授予物化视图刷新权限的正确方式

PostgreSQL不存在GRANT REFRESH ON MATERIALIZED VIEW这种语法,要让用户能刷新物化视图,可根据场景选择以下操作:

  • 仅授予刷新权限:授予用户该物化视图的UPDATE权限
    GRANT UPDATE ON MATERIALIZED VIEW your_materialized_view TO your_user;
    
  • 同时授予刷新+查看数据权限:额外添加SELECT权限
    GRANT SELECT, UPDATE ON MATERIALIZED VIEW your_materialized_view TO your_user;
    
  • 若物化视图不在默认public schema下,需确保用户拥有对应schema的USAGE权限:
    GRANT USAGE ON SCHEMA your_schema TO your_user;
    

权限说明

执行REFRESH MATERIALIZED VIEW命令,需要用户满足以下条件之一:

  • 是该物化视图的所有者
  • 拥有该物化视图的UPDATE权限
  • 是超级用户

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:32:39