创建数据库管理员角色

时间:2019-06-24 09:29:59

标签: postgresql

我正在使用postgres 9.6。 我的数据库具有postgres角色的所有者。我需要另一个将是此数据库管理员的用户。该用户可以执行dml或ddl查询之类的任何操作。 另外,我首先使用实体​​框架代码,将来其中的新架构和对象将被存放在数据库中。 那么如何创建这个角色?

我看到了postgres安全性的文档,但我不明白为什么这么简单的事情难以实现。

我需要更改数据库所有者或授予所有表中的所有权限,好的(但是新对象可以由我的用户或postgres创建)。 有“更改默认权限”命令,但仅用于特定架构(并非全部) 那么我该如何实现这种情况?

1 个答案:

答案 0 :(得分:0)

只有对象的所有者或超级用户可以对对象执行DDL语句。

因此,无论谁创建对象,创建第二个用户都可以执行此操作的唯一方法是使第二个用户成为超级用户。

这很简单,但是您当然应该从不让应用程序与超级用户连接。

在安全性方面,您可以选择:

  1. 您不想对此花费任何精力,也不会在意是否遇到安全问题。

  2. 您仔细考虑一下,并提出了合理的安全概念。