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

MonetDB中ebi_data用户无法在ebi schema建表的权限问题咨询

问题分析与解决

你的操作存在两个关键问题,导致了权限不足的报错:

1. 默认角色未包含ebi_reader

你创建ebi_data用户时指定了DEFAULT ROLE "ebi_writer",这意味着用户登录后只会自动激活ebi_writer角色。虽然你给该用户授予了ebi_reader角色,但这个角色默认不会被启用,因此ebi_reader对应的schema权限无法生效。

2. ebi_reader角色缺少显式建表权限

虽然你将ebi schema的所有权赋予了ebi_reader角色,但MonetDB中角色默认不会自动拥有该schema的DDL(建表等)权限,需要显式授予。


解决步骤

步骤1:修复用户角色激活问题(二选一)

方式A:修改用户默认角色,同时激活两个角色

以管理员身份执行:

ALTER USER "ebi_data" DEFAULT ROLE "ebi_reader", "ebi_writer";

修改后,用户下次登录时会自动启用两个角色的权限。

方式B:登录后手动激活ebi_reader角色

用ebi_data登录数据库后,先执行:

SET ROLE "ebi_reader";

之后再执行建表操作。

步骤2:给ebi_reader角色授予ebi schema的建表权限

以管理员身份执行:

GRANT CREATE TABLE ON SCHEMA "ebi" TO "ebi_reader";

这一步确保ebi_reader角色拥有在ebi schema下创建表的权限。


验证操作

完成上述配置后,用ebi_data登录数据库,执行建表命令:

create table ebi.test_via_ebidata (id int, name varchar(5));

此时应该能成功创建表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:07:18