ナレッジベース

エラー "org.postgresql.util.PSQLException: Connection to localhost:8060 refused"


発行: 31 Aug 2016
最終修正日: 20 Jul 2023

問題

Tableau Server へのログインに失敗し、内部 PostgreSQL リポジトリに接続する tabadmin コマンドから次のエラーが返されます。

The driver encountered an unknown error: org.postgresql.util.PSQLException: Connection to localhost:8060 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. (RuntimeError: ドライバーに予期しないエラーが発生しました: org.postgresql.util.PSQLException: 接続が拒否されました。ホスト名およびポートが正しく、ポストマスターが TCP/IP 接続を許可していることを確認してください。)

環境

Tableau Server

解決策

コマンド プロンプトから tabadmin status -v を実行して、Tableau Server の現在のステータスを確認します。詳細については、「tabadmin コマンド: status」を参照してください。
 
  • tabadmin status の実行時に Tableau Server リポジトリが "Stopped (停止)" として表示される場合は、
    1. 実行ユーザー「必要な実行サービス アカウント設定」で説明されている必要なパーミッションを持っていることを確認します。
    2. Tableau Server を再起動します。
  • tabadmin status の実行時に Tableau Server リポジトリが "Setting up (設定中)" として表示される場合は、リポジトリの接続タイムアウトを増やします。

    管理者としてコマンド プロンプトを開き、次のコマンドを実行します。
    tabadmin stop
    tabadmin set clustercontroller.pgsql_connection_timeout_ms 6000
    tabadmin config
    tabadmin start


    値を 6000 に設定した後も問題が継続する場合は、値を再度増やすことができます (最大で 60000 まで)。最善の結果を得るため、できるだけ小さい値を使用することをお勧めします。

     
  • tabadmin status の実行時に "Running (実行中)" と表示される場合は、

    ファイアウォールまたはウイルス対策ソフトウェアにより、Tableau Server リポジトリとの通信が防止されている可能性があります。詳細については、「インターネットとの通信の設定」を参照してください。

原因

Tableau Server リポジトリが正しく起動できません。Tableau Server リポジトリに含まれる認証情報が原因で、ログインが失敗しています。

詳細情報

Tableau Server は、データベースの起動を設定された時間 (既定値は 60 秒) 待ってから、再試行やデータベースの再起動を行います。このタイムアウトは次の 2 つの workgroup.yml 設定によって決まります。

clustercontroller.pgsql_connection_attempts  (既定値 = 20)
clustercontroller.pgsql_connection_timeout_ms (既定値 = 3000)

これら 2 つの値の積により、タイムアウトの合計量が決まります (60000 ミリ秒つまり 60 秒)。

clustercontroller.pgsql_connection_timeout_ms の値を大きくすると、クラスター コントローラーがフェイルオーバーを試行する前に Postgres からの応答を待機する時間が増加します。この設定の値を大きくすると、Tableau Server のパフォーマンスにマイナスの影響が及ぶ場合があります。たとえば、クラスター コントローラーが Postgres を再起動する前に待機する時間が長くなるため、障害発生時に Postgres が実際にダウンしている場合に Tableau Server が応答しない時間が増える可能性があります。このような理由で、この設定ではできるだけ小さい値を使用することをお勧めします。 
常に最善の解決策となるのは、Postgres の起動が遅い原因となっている環境要因を調査することです。長期的な修正のために遅いパフォーマンスを調査している間、素早い解決策として clustercontroller.pgsql_connection_timeout_ms 設定の変更が役立つ場合もあります。
 

この記事で問題は解決しましたか?