如何授予 postgres 用户对特定数据库的所有权限?

如何授予 postgres 用户对特定数据库的所有权限?

我正在设置一个新的数据库服务器,打算将其用作许多服务的后端。这些服务通常只关心系统中的一个数据库,因此我想隔离每个服务连接的帐户,以便只能访问该数据库。服务应用程序管理自己的架构,因此我想授予它们对其数据库的管理员权限,但它们不应能够接触其他任何东西。

有没有办法在 postgres 中进行设置?

ServerFault 上的这个问题建议一种在架构范围级别向用户授予权限的方法;但是,这对数据库不起作用(Alter Default Privileges In Database xx出现语法错误Database)。

答案1

我几乎一问就找到了答案。我寻找的神奇命令是:

Alter Database xxx Owner To user_xxx;

命令手册中记录了这一点Alter Database

https://www.postgresql.org/docs/current/sql-alterdatabase.html

相关内容