首页 > 解决方案 > 创建仅对一个数据库具有授予权限的用户

问题描述

我想仅授予新用户对一个数据库的读/写权限,因此他无法访问其他数据库。


在我创建新用户后: sudo -u postgres createuser <username>该用户获得什么特权?

这就是我所需要的: GRANT ALL PRIVILEGES ON my_db TO new_user;只访问一个数据库吗?

做这个的最好方式是什么?

使用 PostgreSQL 10

标签: postgresqldatabase-permissions

解决方案


默认情况下,PUBLIC允许(每个人)连接到所有数据库。因此,您必须撤销该特权并CONNECT更加明智地分发。

除此之外,您还必须确保每个用户都拥有CREATE“他的&rdqou;”中的所有模式。数据库和所有表的必要权限,因为数据库本身的权限不足以访问数据库的对象。

它可能是最简单的解决方案,用于REASSIGN OWNED授予用户对“他的”中所有对象的所有权。数据库。


推荐阅读