🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

解決済

1回答

2080閲覧

Heroku上でpostgreSQLでデータベースに接続できない。

sudsud

総合スコア1

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

1クリップ

投稿2021/01/19 08:50

編集2021/01/19 11:43

前提・実現したいこと

heroku上のaddonのpostgreSQLのデータベースに接続しようとするとエラーがでてしまいます。

発生している問題・エラーメッセージ

error message Unhandled rejection SequelizeConnectionError: no entry for host "54.167.52.48", user "qgvplhkrtutkjj", database "dcfkt74krah49i", SSL off

該当のソースコード

nodejs

1データベースに接続しているコード 2const sequelize = new Sequelize( 3 process.env.DATABASE_URL || 'postgres://postgres:postgres@localhost/app' 4);

試したこと

エラーに関するstackoverflowの記事
postgresql公式のpg-hba-confに関する記事
エラーコードからの検索でpg_hba.confでの認証情報を編集するとのことを見つけたのでやってみようと試みましたが、pg_hba.confのファイル自体が見つからないです。

pg_hba.confのファイルを編集してみましたが、herokuのaddonのpostgresを使用しているため特に影響はありませんでした。上記のstackoverflowの記事や他の記事で接続用のコードを書いてるものが見受けられるので、今それについて調べています、、がまだ正直どうすればよいかよくわからないです。

情報が足りなかったらすみません、仰っていただければ追記します。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sudsud

2021/01/19 09:35

指摘ありがとうございます。変更いたしました。
hoshi-takanori

2021/01/19 11:21

heroku の PostgreSQL を使いたいなら localhost ではないのでは…。
sudsud

2021/01/19 11:32

そうですよね、、ローカルのpostgreSQLの認証情報を変更しても、、と違う気もしてました。 そうなるとそれはそれでよくわからなくなってしまうのですが、他の記事ではherokuの認証用のコードを書いて認証しているようなのもあるのでそこら辺を見直していますが、、 質問を編集します、何かまた教えていただければ幸いです。
sudsud

2021/01/19 12:05

解決しました!!! 前回に引き続きありがとうございます!! 悩んでることにピッタリな記事があって、調べる能力がまだまだと痛感いたします。 助かりました。ありがとうございます。
_whitecat_22

2021/01/19 12:11

hoshi-takanori さん、アシストいただき、ありがとうございます。 同じ記事を見付けて回答を編集していましたが、その間に解決していたようで、、、 感謝申し上げます。
sudsud

2021/01/19 13:45

_whitecat_22 さん 回答の編集含めいろいろとありがとうございます。助かりました。
_whitecat_22

2021/01/19 13:50

解決に至ってよかったです^^ お役に立てて嬉しく思います。 何度も確認いただいて、お手数をかけてしまいましたね。 こちらこそありがとうございました。
guest

回答1

0

ベストアンサー

PostgreSQL の pg_hba.confファイルの在り処を探すには、以下のコマンドを実行してください。

Terminal

1$ psql -U {ユーザー名} -t -P format=unaligned -c 'show hba_file';

 

 
実行例:ユーザー名を 'usename' としています。ご自身のユーザー名に置き換えてください。

$ psql -U username -t -P format=unaligned -c 'show hba_file'; /var/lib/postgresql/data/pg_hba.conf

 
なお、返答される結果は、ホストOS、PostgreSQL 等のバージョンにより異なりますため、ご注意ください。


【追記】
以下の設定変更で接続できるそうです。

node.js

1const Sequelize = require('sequelize'); 2 3// herokuまたはローカル環境のPostgreSQLに接続する 4const sequelize = new Sequelize( 5 process.env.DATABASE_URL || 'postgres://postgres:postgres@localhost/app' 6); 7 89 10const Sequelize = require('sequelize'); 11 12const sequelize = new Sequelize( 13 process.env.DATABASE_URL || 'postgres://postgres:postgres@localhost/app', 14 {dialectOptions: { ssl: true }} 15);

参照元;
herokuデプロイ後sequelizeでPostgreSQLに接続できないときの解決法

投稿2021/01/19 09:10

編集2021/01/19 12:09
_whitecat_22

総合スコア1305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sudsud

2021/01/19 09:36

ありがとうございます。 試してみます。
sudsud

2021/01/19 11:36

回答ありがとうございます。PostgreSQL の 'pg_hba.conf'ファイルの在り処はおかげ様で見つけることができました。ただ、ここを編集しても上手くherokuのほうには接続できませんでした。 質問を少し編集いたしますので、よろしければまた何かご教授いただければ幸いです。
_whitecat_22

2021/01/19 11:44

Heroku上のPostgreSQLに対して調べましたか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問