PostgreSQL:该角色不被允许登录

219

我无法连接到我的本地服务器上的自己的Postgres数据库。我搜索了一些类似的问题,并找到了这个手册:https://help.ubuntu.com/stable/serverguide/postgresql.html

所以:

pg_hba.conf文件中写道:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 trust
然后我创建一个用户并为其分配密码:
postgres=# create role asunotest;
CREATE ROLE
postgres=# alter role asunotest with encrypted password '1234';
ALTER ROLE

但它不让我进入:

-bash-4.2$ psql -h 127.0.0.1 -U asunotest
Password for user asunotest: 1234
psql: FATAL:  role "asunotest" is not permitted to log in

可能出了什么问题?

4个回答

488

3
由于我无法访问 psql,我该如何修改角色(ALTER ROLE)? - Romulus Urakagi Ts'ai
3
@RomulusUrakagiTs'ai 你应该以postgres用户身份登录(sudo -u postgres psql postgres)。 - Mi Ka
我完全忘记了这个小细节,谢谢! - Manuel Lazo
1
对于我在PeppermintOS上,第一个命令是“sudo -u postgres psql”。 - Nicholas Obert

25
CREATE ROLE blog WITH
  LOGIN
  SUPERUSER
  INHERIT
  CREATEDB
  CREATEROLE
  REPLICATION;

COMMENT ON ROLE blog IS 'Test';

3
使用pgadmin4:
1. 在侧边栏中选择“角色”。 2. 在仪表板中选择“属性”。 3. 单击“编辑”并选择“权限”。
现在您可以启用或禁用登录、角色和其他选项。

-8

尝试运行

sudo su - postgres
psql
ALTER ROLE 'dbname'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接