PostgreSQL:不允许角色登录

时间:2016-02-07 14:37:27

标签: postgresql

我无法在本地服务器上连接到我自己的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 个答案:

答案 0 :(得分:207)

不允许您创建的角色登录。请阅读文档http://www.postgresql.org/docs/9.0/static/sql-alterrole.html

ALTER ROLE "asunotest" WITH LOGIN;

答案 1 :(得分:2)

CREATE ROLE blog WITH
  LOGIN
  SUPERUSER
  INHERIT
  CREATEDB
  CREATEROLE
  REPLICATION;

COMMENT ON ROLE blog IS 'Test';

答案 2 :(得分:1)

使用pgadmin4

  1. 在侧面菜单中选择角色
  2. 在仪表板中选择属性。
  3. 点击修改,然后选择权限

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

答案 3 :(得分:-2)

尝试运行

sudo su - postgres
psql
ALTER ROLE 'dbname'