无法在SCHEMA上创建视图

时间:2013-11-06 12:05:17

标签: postgresql view grant

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

问候。

1 个答案:

答案 0 :(得分:3)

写作时不在PostgreSQL中,没有。模式中的CREATE权限允许它们创建任何对象类型。没有办法限制他们可以创建的对象 - 函数,运算符,运算符类,表,视图等。

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