仍然没有理解基础知识! 最初在安装后立即创建的用户名“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 | {}
我是以错误的方式创建新用户还是我的登录方法错了? 如果您想了解任何其他细节,请询问。
答案 0 :(得分:1)
要在命令行中连接到posgresql,您应该使用psql psql -U p2 DATABASE_NAME
答案 1 :(得分:0)
createuser p2
正在创建名为p2
的 Postgres 用户。
sudo
正在尝试使用 Unix 用户p2
运行命令。
这是完全不同的两件事。