首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL只读用户

问PostgreSQL只读用户
EN

Database Administration用户
提问于 2019-09-03 08:51:18
回答 1查看 403关注 0票数 1

我们有一个PostgreSQL数据库'db1',它有大约500个模式。我正在尝试为这个特定的PostgreSQL数据库创建一个只读用户。

我可以找到以下命令,用于创建用户并明智地授予权限模式

代码语言:javascript
复制
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO readonly_user;

但

1)我们有大约500个模式,因此很难为每个模式授予权限。

2)这些模式将在每天的基础上动态创建或删除,因此在每次创建模式时给予许可也是一项困难的任务。

有没有任何方法可以授予整个数据库而不是架构的只读权限?

在MySQL中,我可以使用以下命令来完成它

代码语言:javascript
复制
grant select on *.* to 'user_name'@'IP';

我正在PostgreSQL中寻找类似的命令

我们使用的是PostgreSQL 10。

EN

回答 1

Database Administration用户

发布于 2019-09-03 11:22:49

我们有大约500个模式,因此很难为每个模式授予权限。

不是的。手工操作很繁琐,但它也是自动化的首选,通过脚本编写。

..。每天动态创建或删除模式,因此每次创建模式时都给予权限也是一项困难的任务。

我不同意。您每天都在做所有“困难”的事情--删除、重新创建和重新填充所有这些模式。我建议在该过程结束时添加这一语句是相对微不足道的!

有没有任何方法可以授予整个数据库而不是架构的只读权限?

即使有,你也不应该这样做。

在我看来,这些模式似乎是离散的实体(否则,为什么不将它们组合成一个)。在我看来,授予所有这些人的访问权是个糟糕的想法。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/246835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档