Postgres を インストール後に、postgres ユーザでログインし、ロールの作成、ロールをオーナとするデータベースを作成しました。

  • ロールの作成

    CREATE ROLE db_usr WITH PASSWORD 'password';
    

  • データベース作成

    CREATE DATABASE test_db OWNER db_usr ENCODING 'UTF8' TEMPLATE template0;
    

作成後に、db_usr ログインを行おうとすると、以下のエラーが発生しました。
ログインできない旨のメッセージです。

  • エラーメッセージ
    sql: FATAL: role "xxxxxx" is not permitted to log in
    

検索したところ、以下の StackOverFlow の記事が見つかりました。
PostgreSQL: role is not permitted to log in - Stack Overflow

記事の内容の通り、CREATE ROLE コマンドに、ログインオプションをつけていないのが原因で、以下のコマンドを実行後、ログインができるようになりました。

  • ALTER ROLE
    ALTER ROLE "db_usr" WITH LOGIN;
    

以下、postgres のドキュメントに、LOGIN オプションについての記載があります。
CREATE ROLE

以上です。

コメント