1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PG::ConnectionBad を解決する!

Posted at

はじめに

Railsアプリ開発中に、rails sでサーバー立ち上げた際以下のエラーが、、、

ターミナル
PG::ConnectionBad (FATAL:  role "root" does not exist):

PG::ConnectionBadってなに?

このエラーが出る原因は色々あるようですが、簡単にいうと**PostgreSQLと接続できませんよ!**ってことみたいです。

原因

今回のエラーではrootと言う名前のロールがないのが問題のよう。
※ちなみにPostgreSQLで言うロールとは、ざっくりいうとログイン権限を持つユーザのことです。

解決手順

結論

rootという名前のロールを作成して権限を与えるだけ!

ロールを作成

まずはDBへ接続

ターミナル
psql -d postgres

rootのロールを作成

PostgreSQL
postgres=# CREATE ROLE root WITH LOGIN PASSWORD 'root';

続いてpsqlコマンドでロールの情報を表示

PostgreSQL
postgres=# \du

                                 List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 riku10    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      |                                                            | {}

Role namerootのものが追加されてますね。しかし、この段階ではまだ権限は与えられていません。

権限を与える

Role nameriku10の時のみ、Create roleの権限がついているため、ユーザネームriku10でDBに接続します。

ターミナル
psql -U riku10 -d postgres

接続後、権限を付与します。

PostgreSQL
ALTER ROLE root SUPERUSER CREATEDB;

もう一度\duでロールの情報を確認してみましょう。

PostgreSQL
postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 riku10    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      | Superuser, Create DB                                       | {}

きちんと権限も付与できていますね。

さいごに

これでrails db:migrationを行った後、rails sを行うことできちんとサーバーを起動できるはずです。

絶対忘れると思ったのですぐ記事にしました!
この記事が同じように困っている人の助けになれば嬉しいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?