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作成時に発生
bundle exec rails db:create
エラー全文
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にしてあげる。
password_encryption = md5
「pg_hba.conf」も以下のように編集して、再起動すれば改善されました。
# 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
コメントを書く