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



我正试图在安装在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用户和postgreSQL中的UNIX用户在数据库管理方面有什么区别。

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

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

您的系统可能正在使用简单的"对等";默认情况下的身份验证。这是基于Linux的包管理器在为您创建数据库时使用的常见默认值。

要继续使用该设置,那么你是的,你需要设置";tommy";作为Linux用户。或者,您必须编辑pg_hba.conf来选择不同的方法,如md5(密码(或gss(kerberos(,或者添加一个ident映射和";"对等";以描述哪些操作系统用户被允许作为哪些数据库用户登录。

Linux用户和PostgreSQL用户之间的唯一连接是通过使用对等身份验证创建的连接。

确保使用sudo susudo -i以root用户身份登录

因此,这可能是问题的一部分——当您从root帐户使用sudo -u postgres时,它试图以非root用户postgres的身份访问root的主目录。

这应该很有效。

相关内容

  • 没有找到相关文章

最新更新