我们有一个PostgreSQL数据库'db1',它有大约500个模式。我正在尝试为这个特定的PostgreSQL数据库创建一个只读用户。
我可以找到以下命令,用于创建用户并明智地授予权限模式
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO readonly_user;但
1)我们有大约500个模式,因此很难为每个模式授予权限。
2)这些模式将在每天的基础上动态创建或删除,因此在每次创建模式时给予许可也是一项困难的任务。
有没有任何方法可以授予整个数据库而不是架构的只读权限?
在MySQL中,我可以使用以下命令来完成它
grant select on *.* to 'user_name'@'IP';我正在PostgreSQL中寻找类似的命令
我们使用的是PostgreSQL 10。
发布于 2019-09-03 11:22:49
我们有大约500个模式,因此很难为每个模式授予权限。
不是的。手工操作很繁琐,但它也是自动化的首选,通过脚本编写。
..。每天动态创建或删除模式,因此每次创建模式时都给予权限也是一项困难的任务。
我不同意。您每天都在做所有“困难”的事情--删除、重新创建和重新填充所有这些模式。我建议在该过程结束时添加这一语句是相对微不足道的!
有没有任何方法可以授予整个数据库而不是架构的只读权限?
即使有,你也不应该这样做。
在我看来,这些模式似乎是离散的实体(否则,为什么不将它们组合成一个)。在我看来,授予所有这些人的访问权是个糟糕的想法。
https://dba.stackexchange.com/questions/246835
复制相似问题