PostgreSQL 用户/角色仅限于查看?

标签 postgresql postgresql-9.1

我需要授予客户访问我数据库中一组“ View ”的权限。我让它工作,以便用户/角色可以针对所需的 View 而不是任何表进行选择。但是,用户/角色仍然可以浏览模式并查看表和表的列和数据类型等。有没有办法防止这种情况发生?因此,如果用户/角色使用 PgAdmin III 或 psql 或类似的东西访问数据库,他们只能“看到”授权 View 而没有其他内容?

最佳答案

如果你想避免在物化 View 中复制所有数据..

您可以设置另一个数据库 - 在不同的集群中,这样它就不会共享同一个目录。这甚至可以在不同的机器上。

  • 通过 dblink 访问您主要数据库中的 View .
  • 只允许客户无法访问的定义用户通过 dblink 访问 prime db。
  • 创建表函数以访问主要服务器上的数据。
  • 提供从这些表函数中选择的 View ,并允许您的客户用户SELECT

现在他们无法访问基表。

关于PostgreSQL 用户/角色仅限于查看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12114529/

相关文章:

jdbc - squirrelsql 不喜欢 query_to_xml

bash - 使用 bash 脚本创建 postgresql 数据库条目

sql - Group by/Distinct Sequelize 查询功能

postgresql-9.1 - 恢复 Postgres 数据库时克服循环依赖

postgresql - 不同机器(相同语言环境)上的 Postgres 实例之间的排序差异

postgresql - 检查表中的 OID 大小

sql - 将 SQL 语句作为记录值插入到 PostgreSQL 列中

python - 在长时间的数据库扫描期间发出定期提交是否有性能损失?

XP下的PostgreSQL认证

postgis - osm2pgsql 窗口 "illegal option -W"错误