PostgreSQL:ロールはログインを許可されていません


136

ローカルサーバー上の自分のpostgres dbに接続できません。私はいくつかの同様の問題をググって、このマニュアルを思いつきました 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

何が問題でしょうか?

回答:


289

作成したロールにはログインが許可されていません。ロールにログインする権限を与える必要があります。

これを行う1つの方法は、postgresユーザーとしてログインしてロールを更新することです。

psql -U postgres

ログインしたら、次のように入力します。

ALTER ROLE "asunotest" WITH LOGIN;

こちらがドキュメントです http://www.postgresql.org/docs/9.0/static/sql-alterrole.html


2
できないのでpsql、どのようにしてロールを変更できますか?
Romulus Urakagi Ts'ai 2017

2
@ RomulusUrakagiTs'ai postgresユーザーとして入力する必要があります(sudo -u postgres psql postgres)
Mi Ka

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

COMMENT ON ROLE blog IS 'Test';

0

pgadmin4の使用

  1. サイドメニューで役割を選択
  2. ダッシュボードでプロパティを選択します。
  3. [編集]をクリックして、権限を選択します

ここで、ログイン、ロール、その他のオプションを有効または無効にできます


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.