【发布时间】:2021-06-20 01:49:30
【问题描述】:
我正在尝试在 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 | {}
【问题讨论】:
-
您根本不需要 unix 用户。以超级用户身份进入并
create role tommy login password 'xyz' superuser -
"postgreSQL 中的 postgreSQL 用户和 UNIX 用户有什么区别" - 一个是针对操作系统进行身份验证,另一个是需要针对操作系统进行身份验证数据库。这与您的 Linux 用户和您用于登录 Stackoverflow 的用户帐户之间的区别相同。
-
@a_horse_with_no_name 我当然知道,但为什么 UNIX 系统中有用户 postgres?
-
用于运行服务,因为以
root运行Postgres服务存在安全风险
标签: postgresql ubuntu unix psql