sql >> データベース >  >> RDS >> PostgreSQL

TypeError:nullのメソッド'query'を呼び出せません-Herokunode.jsでpg.connectを呼び出す場合

    私は自分のサイトで同じ問題を抱えていましたが、展開されたサイトで機能することでさらにイライラしましたが、(フォアマンを使用して)サイトをローカルで実行しようとすると、このエラーが発生しました。エラーから、接続に失敗することがわかりましたデータベースにアクセスし、さらにチェックすると、このエラーの原因となった2つの理由があります。

    1. DATABASE_URL環境変数なし
      何らかの理由で、 process.env.DATABASE_URLがありませんでした リモートサイトで正しく設定されていますが、.envファイルに設定されています。この問題を解決するには、「heroku config」を実行して、必要なDATABASE_URLをローカルの.envファイルにコピーします(このファイルが存在しない場合は作成します)。
      重要な注意: 変数をコピーして貼り付けるときは、「:」文字を「=」に変更します。

    2. ?ssl=trueはDATABASE_URLの一部ではありません
      上記の修正のおかげで、クライアントは接続先を認識できるようになりましたが、認証の問題のために接続を開くことができませんでした。 ?ssl =trueを追加する DATABASE_URLに、それは最終的に私のために問題を解決しました。リモートサイト(herokuサーバー)から接続しようとしている場合はパラメーターを渡す必要はないようですが、ローカルコンピューターからデータベースに接続しようとしている場合は、適切に接続するためにこの認証が必要です。

    お役に立てば幸いです。



    1. SQL Serverのsys.columns、sys.system_columns、およびsys.all_columnsの違い

    2. MySQLに存在する場合のドロップテーブル

    3. データベースごとに、mysqldumpファイルを複数のデータベースに分割します

    4. PostgreSQLが返される行の順序を変更する