PostgreSQL:角色不允许登录

我在本地服务器上连接到我自己的postgres db有问题。 我在谷歌上搜索了一些类似的问题,然后找到了这本手册 https://help.ubuntu.com/stable/serverguide/postgresql.html < / p >

所以:

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

有什么问题吗?

168053 次浏览

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

一种方法是作为postgres用户登录并更新角色:

psql -U postgres

登录后,输入:

ALTER ROLE "asunotest" WITH LOGIN;

这是文档 http://www.postgresql.org/docs/9.0/static/sql-alterrole.html < / p >

CREATE ROLE blog WITH
LOGIN
SUPERUSER
INHERIT
CREATEDB
CREATEROLE
REPLICATION;


COMMENT ON ROLE blog IS 'Test';

试着跑

sudo su - postgres
psql
ALTER ROLE 'dbname'

使用pgadmin4:

  1. 在侧菜单中选择角色
  2. 在仪表板中选择属性。
  3. 单击Edit并选择权限

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