postgres 创建新用户/角色

postgres 创建新用户/角色

我正在按照本教程进行操作,并以 postgres 身份登录并运行: createuser --interactive

提供名称并选择超级用户

然后:

createdb dogspot

但当尝试

sudo -i -u dogspot

我得到:

postgres@ip-172-31-12-126:/home/ubuntu$ sudo -i -u dogspot
sudo: unknown user: dogspot
sudo: unable to initialize policy plugin

但用户肯定存在,因为尝试再次创建用户时会提示用户已经存在。希望得到一些如何正确操作的提示。

数据库版本:

psql (PostgreSQL) 9.3.4

操作系统版本:

Ubuntu 14.04 LTS

更新:

似乎只需要创建具有相应名称的 Linux 用户即可:

sudo useradd -d /home/dogspot -m dogspot

sudo passwd dogspot

答案1

您混淆了 PostgreSQL 用户和操作系统用户。

PostgreSQL 用户可能没有相应的操作系统用户。

默认情况下,连接使用peer身份验证,您必须以与您尝试连接的 PostgreSQL 用户同名的 OS 用户身份运行。你可以改变pg_hba.conf,适用于所有用户或仅适用于部分用户/数据库。有关更多详细信息,请参阅客户端身份验证章节。

相关内容