我在数据库中有一个用户只能选择所有表上的数据。我想让他创建 View 而不是表。 是否可以向特定用户授予仅在数据库架构中创建 View 的权限?
问候。
最佳答案
在撰写本文时不在 PostgreSQL 中,不。架构中的 CREATE
权限允许他们创建任何对象类型。无法限制他们可以创建的对象 - 函数、运算符、运算符类、表、 View 等。
您可以实现一个执行程序 Hook 来执行这些类型的规则,但您必须将其作为用 C 编写的可加载模块来执行。ProcessUtility_hook
可能是您想要的 Hook 。这种方法会有很大的学习曲线,因为您需要了解 PostgreSQL 的语句是如何以其内部解析形式描述的。
关于postgresql - 无法授予在架构上创建 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19811683/