如何获得 postgres 的超级用户权限。我是 Linux 中的 sudoers 之一,但我没有权限在 postgres 中创建用户。如何获得 postgres 的超级用户权限?
这是我的pg_hba.conf:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 md5
答案1
Postgres 有自己的“管理员”用户,该用户原则上与系统管理员或根用户无关。当您设置 postgres 实例时,其管理员用户很可能是为您创建的,因此最好查看您的安装或分发文档,了解其密码。
答案2
该帐户postgres
应该具有与 postgreSQL 类似的超级用户权限,请尝试以超级用户身份登录postgres
并尝试一下。
答案3
内部 Postgres 角色本质上与操作系统帐户无关。也就是说,许多发行版确实尝试将数据库超级用户帐户设置为与操作系统帐户相对应;查看您的 pg_hba.conf 设置,您可能需要 sudo 到 postgres 用户(OS 级别),然后使用 psql 登录数据库。这是因为您当前设置为使用“ident sameuser”进行身份验证,这意味着(简化解释)要从本地框连接,您需要您的数据库角色与操作系统用户帐户匹配。这可能是也可能不是您想要继续前进的事情;我建议阅读以下内容:http://www.depesz.com/index.php/2007/10/04/ident/