ubuntu 在PostgreSQL sudo中创建用户:未知用户

ezykj2lf  于 2022-11-22  发布在  PostgreSQL
关注(0)|答案(2)|浏览(755)

我尝试在Ubuntu 20.04上安装的PostgreSQL中创建一个新用户:

$ sudo -u postgres createuser --superuser tommy

但当我尝试使用该用户创建数据库时,它显示为未知用户:

$ sudo -u tommy createdb tommy_db
sudo: unknown user: tommy
sudo: unable to initialize policy plugin

我的想法是,我已经知道有UNIX用户和PostgreSQL用户,我不知道我是否必须首先创建一个UNIX用户tommy。
我想利用这篇文章,问问PostgreSQL用户和UNIX用户在PostgreSQL中的数据库管理有什么区别。

**PD:**如果我在plsql中使用/du列出用户,我可以看到创建的用户tommy:

Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 tommy     | Superuser, Create role, Create DB                          | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
7xllpg7q

7xllpg7q1#

您的系统可能默认使用简单的“对等”身份验证,这是基于Linux的包管理器在为您创建数据库时使用的常见默认设置。
要继续使用该设置,您需要将“tommy”设置为Linux用户。或者,您需要编辑pg_hba.conf以选择不同的方法,如md5(密码)或gss(Kerberos),或者添加identMap沿着“peer”以描述哪些操作系统用户可以作为哪些数据库用户登录。
Linux用户和PostgreSQL用户之间的唯一连接是使用对等身份验证创建的连接。

unhi4e5o

unhi4e5o2#

确保使用sudo susudo -i以root用户身份登录
因此,这可能是问题的一部分-当您从root帐户使用sudo -u postgres时,它试图以非root用户postgres的身份访问root的主目录。
应该很管用。

相关问题