我在数据库中有一个用户只能在所有表上选择数据。我想让他创建视图而不是表格。 是否可以授予特定用户仅在数据库模式中创建视图的权限?
问候。
答案 0 :(得分:3)
写作时不在PostgreSQL中,没有。模式中的CREATE
权限允许它们创建任何对象类型。没有办法限制他们可以创建的对象 - 函数,运算符,运算符类,表,视图等。
您可以实现一个执行程序挂钩来强制执行这些类型的规则,但是您必须将其作为用C编写的可加载模块来执行。ProcessUtility_hook
可能是您想要的钩子。这种方法将有一个重要的学习曲线,因为您需要了解PostgreSQL的语句如何以其内部解析形式进行描述。