PostgreSQL:不允许角色登录

PostgreSQL:不允许角色登录,postgresql,permissions,roles,Postgresql,Permissions,Roles,我无法连接到本地服务器上我自己的postgres db。 我在谷歌上搜索了一些类似的问题,找到了这本手册 因此: pg_hba.conf说: # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all

我无法连接到本地服务器上我自己的postgres db。 我在谷歌上搜索了一些类似的问题,找到了这本手册

因此:

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

可能是什么问题?

不允许您创建的角色登录。您必须授予角色登录权限

一种方法是以
postgres
用户身份登录并更新角色:

psql -U postgres
登录后,键入:

ALTER ROLE "asunotest" WITH LOGIN;
这是文件 尝试运行

sudo su - postgres
psql
ALTER ROLE 'dbname'

使用pgadmin4

  • 在侧边菜单中选择角色
  • 在仪表板中选择属性
  • 单击编辑并选择特权

  • 现在,您可以启用或禁用登录、角色和其他选项

    因为我无法
    psql
    ,我如何更改角色?@RomulusUrakagiTs'ai您应该以postgres用户身份输入(sudo-u postgres psql postgres)我完全忘记了这个小细节,谢谢!
    sudo su - postgres
    psql
    ALTER ROLE 'dbname'