1

我在数据库中有一个用户只能选择所有表上的数据。我想让他创建视图而不是表。是否可以授予特定用户权限以仅在数据库模式中创建视图?

问候。

4

1 回答 1

3

在撰写本文时不在 PostgreSQL 中,不。架构中的CREATE权限允许他们创建任何对象类型。没有办法限制他们可以创建的对象——函数、运算符、运算符类、表、视图等。

您可以实现一个执行程序挂钩来强制执行这些类型的规则,但是您必须这样做,因为用 C 编写的可加载模块ProcessUtility_hook可能是您想要的挂钩。这种方法将有一个重要的学习曲线,因为您需要了解 PostgreSQL 的语句是如何以其内部解析形式描述的。

于 2013-11-06T12:29:31.497 回答