知識庫

錯誤「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.(驅動程式遇到未知錯誤:org.postgresql.util.PSQLException:拒絕連接到 localhost:8060。請檢查主機名稱和通訊埠是否正確,且 postmaster 接受 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 存放庫通信。有關詳細資訊,請參見配置與 Internet 的通信

原因

Tableau Server 存放庫無法正常啟動。Tableau Server 存儲庫包含導致登錄失败的所有身份验證信息。存放庫包含導致登入失敗的所有身分驗證資訊。

其他資訊

Tableau Server 會等待一段設定的時間(默認為 60 秒)以讓數据庫啟動,之后再重试或重新啟動它。以下兩個 workgroup.yml 設定確定逾時:

clustercontroller.pgsql_connection_attempts(預設值 = 20)
clustercontroller.pgsql_connection_timeout_ms(預設值 = 3000)

這兩個值的乘積確定總逾時時長。(60000 毫秒或 60 秒)。

增加 clustercontroller.pgsql_connection_timeout_ms 值將會增加 clustercontroller 在嘗試進行故障轉移之前等待 Postgres 回應的時間。增加此設定的值可能會對 Tableau Server 的效能產生負面影響。例如,它可能會增加 Tableau Server 在發生故障時無回應的時間,因為 clustercontroller 在重新啟動 Postgres(如果其確實已停止)之前將等待更長時間。這就是為何我們建議為此設定使用盡可能最低的值的原因。 
最佳解決方案始終是:調查哪些環境因素導致 Postgres 啟動緩慢。作為一種快速解決方案,修改 clustercontroller.pgsql_connection_timeout_ms 設定可能有用,同時我們正在對效能緩慢問題進行調查,以尋求一種長期修復方法。
 

這篇文章是否解決了問題?