仅允许在postgreSQL中访问一个模式

问题描述 投票:0回答:1

我有一个用户just_one_schema_user

在我的数据库中,我有两个模式:publicsample

如何使该用户仅看到sample

这是我所做的:

GRANT USAGE ON SCHEMA sample TO just_one_schema_user

REVOKE ALL PRIVILEGES ON SCHEMA public FROM just_one_schema_user

但是用户仍然可以在public中列出表并查看其结构。

sql database postgresql database-schema pgadmin
1个回答
0
投票

REVOKE删除从未被授予的特权将无声无息。

将模式USAGEpublic特权授予PUBLIC,而不是just_one_schema_user

使用它显示psql中的权限:

\dn+

您正在寻找:

REVOKE CREATE, USAGE ON SCHEMA public FROM public;

我建议不将任何应用程序数据存储在public中,而仅存储扩展名。然后不要撤消USAGE,仅撤消CREATE

© www.soinside.com 2019 - 2024. All rights reserved.