“Role” does not exists in Postgresql
我在这里阅读本教程。 以下命令以用户身份登录:
1 2 | # login AS USER"user" psql -U USER |
当我执行上面的命令时,我得到一个错误说明如下:
1 | psql: FATAL: ROLE"user" does NOT exist |
我在网上看到的唯一帮助是在这里,已经说了以下几点:
FATAL: role"myusername" does not exist
By default PostgreSQL connects to the PostgreSQL user with the same
name as the current unix user. You have not created a PostgreSQL user
by that name in your database.Create a suitable user, or specify a different username to connect
with. In the command line tools the -U flag does this.
但我仍然不太明白为什么我会收到这个错误。
您首先以用户
在控制台中执行此代码(使用您选择的用户名更改
1 2 | sudo -u postgres -i createuser -l -d -P your_username |
更好的是你创建一个具有相同名称的数据库(这使得登录更容易):
1 | createdb your_username -O your_username |
然后你应该能够在psql中连接
1 | psql -h localhost -U your_username |
请检查用户是否存在。
1 | \dg |
如果没有,您需要教程中缺少的内容,并在必要时进行编辑。
1 | CREATE USER USER WITH PASSWORD '<here you password>'; |