如何解决在 PostgreSQL 中创建用户 sudo: unknown user
我正在尝试在 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 DB,Replication,Bypass RLS | {}
解决方法
您的系统可能默认使用简单的“对等”身份验证。这是基于 Linux 的包管理器在为您创建数据库时使用的常见默认设置。
要继续使用该设置,那么您需要将“tommy”设置为 Linux 用户。或者,您必须编辑 pg_hba.conf 以选择不同的方法,例如 md5(密码)或 gss(kerberos),或者添加 ident 映射以及“peer”来描述允许哪些操作系统用户以哪个身份登录数据库用户。
Linux 用户和 PostgreSQL 用户之间的唯一连接是使用对等身份验证创建的连接。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。