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

PostgreSQL:如何为只读用户单Schema扩展增删改查权限?

解决方案

核心问题说明

你之前执行的ALTER DEFAULT PRIVILEGES仅对后续在该Schema中创建的表生效,而且没有授予Schema本身的CREATE权限(要在Schema里创建对象必须拥有这个权限),同时也没覆盖已存在的表的权限,所以看起来没效果。

分步执行语句

  1. 先授予目标Schema的CREATE权限,允许用户在该Schema下创建对象:
GRANT CREATE ON SCHEMA schema_name TO user_rd;
  1. 给该Schema下已存在的所有表授予INSERT、UPDATE、SELECT权限:
GRANT INSERT, UPDATE, SELECT ON ALL TABLES IN SCHEMA schema_name TO user_rd;
  1. 设置默认权限,确保未来在该Schema创建的新表自动获得这些权限:
ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name
GRANT INSERT, UPDATE, SELECT ON TABLES TO user_rd;

额外提示

如果你的表用到自增字段(依赖序列对象),可以补充执行以下语句赋予序列操作权限:

GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA schema_name TO user_rd;
ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name
GRANT USAGE, SELECT ON SEQUENCES TO user_rd;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:04:57