Postgresql:刚添加了一个新用户,但现在说“未知用户”?

时间:2018-01-29 13:30:46

标签: postgresql

仍然没有理解基础知识! 最初在安装后立即创建的用户名“postgres”允许我登录。但后来我添加了一个新用户“p2”,密码为“123”。当我尝试使用p2用户名登录时,它不起作用。我不知道我是否遵循了正确的步骤,请指导。

revoltman@G41:~$ service postgresql start
revoltman@G41:~$ sudo -u postgres -i
postgres@G41:~$ exit
logout
revoltman@G41:~$ sudo -u p2 -i
sudo: unknown user: p2
sudo: unable to initialize policy plugin

早些时候我创建了新用户:

postgres@G41:~$ createuser -P -s -e p2
Enter password for new role: 
Enter it again: 
CREATE ROLE p2 PASSWORD 'md576be8f31b92b38740013f11b102caa1c' 
    SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
postgres@G41:~$ sudo -u p2 -i
sudo: unknown user: p2
sudo: unable to initialize policy plugin

如果我在psql中输入\ du来查找所有用户的列表:

                                 List of roles
 Role name |                      Attributes                         | Member of 

-----------+------------------------------------------------------------+-
p1         |                                                            | {}
p2         | Superuser, Create role, Create DB                          | {}
postgres   | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

我是以错误的方式创建新用户还是我的登录方法错了? 如果您想了解任何其他细节,请询问。

2 个答案:

答案 0 :(得分:1)

要在命令行中连接到posgresql,您应该使用psql psql -U p2 DATABASE_NAME

答案 1 :(得分:0)

createuser p2正在创建名为p2 Postgres 用户。

sudo正在尝试使用 Unix 用户p2运行命令。

这是完全不同的两件事。