rails6 PostgreSQL接続時に「authentication requires libpq version 10 or above」が発生した場合

Rails6でエラー「authentication requires libpq version 10 or above」が発生した場合の対処法を記述してます。
環境
- OS CentOS Linux release 7.9.2009 (Core)
- Ruby 2.7.2
- Rails 6.1.1
- rbenv 1.1.2-40-g62d7798
- PostgreSQL 13.1
エラー全文
DB作成時に発生
1 |
bundle exec rails db:create |
エラー全文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
SCRAM authentication requires libpq version 10 or above Couldn't create 'sample_development' database. Please check your configuration. rails aborted! ActiveRecord::ConnectionNotEstablished: SCRAM authentication requires libpq version 10 or above /home/username/railsApp/bin/rails:5:in `<top (required)>' /home/username/railsApp/bin/spring:10:in `require' /home/username/railsApp/bin/spring:10:in `block in <top (required)>' /home/username/railsApp/bin/spring:7:in `tap' /home/username/railsApp/bin/spring:7:in `<top (required)>' Caused by: PG::ConnectionBad: SCRAM authentication requires libpq version 10 or above /home/username/railsApp/bin/rails:5:in `<top (required)>' /home/username/railsApp/bin/spring:10:in `require' /home/username/railsApp/bin/spring:10:in `block in <top (required)>' /home/username/railsApp/bin/spring:7:in `tap' /home/username/railsApp/bin/spring:7:in `<top (required)>' Tasks: TOP => db:create (See full trace by running task with --trace) |
原因
PostgreSQLの認証方式の問題
対処法
PostgreSQL側の「postgresql.conf」をmd5にしてあげる。
1 |
password_encryption = md5 |
「pg_hba.conf」も以下のように編集して、再起動すれば改善されました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# TYPE DATABASE USER ADDRESS METHOD local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust # Allow replication connections from localhost, by a user with the # replication privilege. local replication all trust host replication all 127.0.0.1/32 trust host replication all ::1/128 trust host all all all md5 |
-
前の記事
C# 指定したファイルの拡張子を取得する 2021.01.25
-
次の記事
PostgreSQL DBのindexの一覧を取得する 2021.01.26
コメントを書く