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

PostgreSQL只读用户能否创建临时表?如何仅授予该权限?

PostgreSQL只读用户与临时表权限问题

默认行为

  • 默认情况下,只读用户(仅拥有SELECT权限的用户)无法创建临时表。因为创建临时表需要CREATE权限,而只读用户通常仅被授予SELECT权限,缺少创建对象的权限。

授予临时表创建权限的方法

要让只读用户仅具备创建临时表的能力,无需授予全局或普通表的CREATE权限,只需针对PostgreSQL的临时表专用模式pg_temp授予权限即可,具体操作如下:

  1. 切换到目标数据库(替换为你的数据库名):
\c your_target_db
  1. 授予用户临时表模式的CREATE权限(替换为你的只读用户名):
GRANT CREATE ON SCHEMA pg_temp TO your_readonly_user;

补充说明

  • 创建临时表后,该用户作为临时表的创建者,默认拥有临时表的所有操作权限(SELECT/INSERT/UPDATE/DELETE等),无需额外授权。
  • pg_temp是PostgreSQL的特殊模式,每个会话的临时表会自动放在专属的临时子模式中,授予pg_temp的权限会自动覆盖所有会话的临时模式,无需针对每个子模式单独授权。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:16:08