Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在数据库中有一个用户只能选择所有表上的数据。我想让他创建视图而不是表。是否可以授予特定用户权限以仅在数据库模式中创建视图?
问候。
在撰写本文时不在 PostgreSQL 中,不。架构中的CREATE权限允许他们创建任何对象类型。没有办法限制他们可以创建的对象——函数、运算符、运算符类、表、视图等。
CREATE
您可以实现一个执行程序挂钩来强制执行这些类型的规则,但是您必须这样做,因为用 C 编写的可加载模块ProcessUtility_hook可能是您想要的挂钩。这种方法将有一个重要的学习曲线,因为您需要了解 PostgreSQL 的语句是如何以其内部解析形式描述的。
ProcessUtility_hook