创建仅对一个数据库具有授予权限的用户

Create user with grant privileges on only one database

我想授予新用户 read/write 权限 一个数据库,所以他不能访问其他数据库。


创建新用户后: sudo -u postgres createuser <username> 这个用户有什么特权?

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

最好的方法是什么?

使用 PostgreSQL 10

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

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

使用 REASSIGN OWNED 将“他的&rdqou;”中所有对象的所有权授予用户可能是最简单的解决方案。数据库。