postgresql - 无法授予在架构上创建 View

标签 postgresql view sql-grant

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

问候。

最佳答案

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

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

关于postgresql - 无法授予在架构上创建 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19811683/

相关文章:

sql - Postgresql 从 max tuple 获取其他信息

python - DJANGO与docker和PostgreSQL

php - Laravel 5 获取 View 名称

view - 带复合键的沙发底座 View : How to set the right startkey/endkey range?

mysql - 向其他用户授予执行功能权限

postgresql - 向用户授予在 postgresql 中创建的任何新表的权限

java - MyBatis返回一个List,并不想返回一个对象

python-3.x - 需要使用 python 进行数据库连接的概述说明

android - 设置android View 可点击

mysql - 使用 "grant options"命令我想将一个用户的确切权限分配给 MYSQL 中的另一个用户