【PostgreSQL】no pg_hba.conf entry for hostというエラーの対処法
困ったこと
const sequelize = new Sequelize( "<データベース名>", "<ロール名>", "<パスワード>", { host: "<ホスト名>", dialect: "postgres", });
Node.jsのORMライブラリ「Sequelize」を使っており、その初期化をしようとしたら
no pg_hba.conf entry for host
上のようなエラーが出た。
解決法
const sequelize = new Sequelize( "<データベース名>", "<ロール名>", "<パスワード>", { host: "<ホスト名>", dialect: "postgres", dialectOptions: { ssl: { require: true, rejectUnauthorized: false, }, }, });
原因
追加したオプション名にもある通り、SSL接続を有効にしてなかったことが原因。
dialectOptions: { ssl: true;}
ちなみに上記のようにSSL接続を有効にするだけで解決しない場合もあるらしく、rejectUnauthorized: false
も必要になってくるとのこと。
詳しくは分かりかねるが、rejectUnauthorized
はSSL証明書云々の設定だとか。
参考