共用方式為


針對 Azure Cosmos DB for PostgreSQL 的連線問題進行疑難排解

適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的 Citus 資料庫延伸模組提供支援)

連線問題可能由各種因素造成,例如:

  • 防火牆設定
  • 連線逾時
  • 不正確的登入資訊
  • 已達到叢集的連線限制
  • 服務基礎結構發生問題
  • 服務維護
  • 協調器節點容錯移轉至新的硬體

一般而言,Azure Cosmos DB for PostgreSQL 的連線問題可分類如下:

  • 暫時性錯誤 (短期或間歇性)
  • 持續性或非暫時性錯誤 (定期重複發生的錯誤)

針對暫時性錯誤進行疑難排解

造成暫時性錯誤的原因有很多種。 最常見的原因包括系統維護、硬體或軟體發生錯誤,以及協調器節點虛擬核心升級。

啟用叢集節點的高可用性,可以自動減輕此類問題。 不過,您的應用程式仍應做好會短暫失去連線的準備。 而其他事件可能需要更長的時間才能解決,例如當有大型交易導致長時間執行的復原時。

解決暫時性連線問題的步驟

  1. 檢查 Microsoft Azure 服務儀表板,以了解是否有在應用程式回報錯誤期間發生的任何已知中斷。
  2. 連線到 Azure Cosmos DB for PostgreSQL 等雲端服務的應用程式應該預期會發生暫時性錯誤,並正常回應。 例如,應用程式應該實作重試邏輯來處理這些錯誤,而非將其呈現為使用者的應用程式錯誤。
  3. 當叢集接近其資源限制時,錯誤看起來可能會是暫時性連線問題。 增加節點 RAM,或新增背景工作節點並重新平衡資料,可能會有所幫助。
  4. 如果連線問題持續發生,或是持續時間超過 60 秒,或每天發生一次以上,請在 Azure 支援網站上選取取得支援,提出 Azure 支援要求。

針對持續性錯誤進行疑難排解

如果應用程式持續無法連線到 Azure Cosmos DB for PostgreSQL,最常見的原因是防火牆設定錯誤或使用者錯誤。

  • 協調器節點防火牆設定:請確定伺服器防火牆已設定為允許來自用戶端的連線,包括 Proxy 伺服器與閘道。
  • 用戶端防火牆設定:用戶端上的防火牆必須允許與資料庫伺服器的連線。 某些防火牆不僅需要依名稱允許應用程式,還需要允許伺服器的 IP 位址和連接埠。
  • 使用者錯誤:請再次檢查連接字串。 您可能輸入錯誤的參數,例如伺服器名稱。 您可以在 Azure 入口網站中找到各種語言架構和 psql 的連接字串。 移至叢集中的 [連接字串] 頁面。 也請記住,叢集只有一個資料庫,且其預先定義的名稱是 citus

解決持續性連線問題的步驟

  1. 設定防火牆規則以允許用戶端的 IP 位址。 僅適用於臨時性的測試目的,請使用 0.0.0.0 作為起始 IP 位址並使用 255.255.255.255 作為結束 IP 位址來設定防火牆規則。 該規則會對所有 IP 位址開啟伺服器。 若規則可解決您的連線問題,請將其移除,並針對已適當限制的 IP 位址或位址範圍建立防火牆規則。
  2. 在用戶端與網際網路之間的所有防火牆上,確定開放連接埠 5432 供輸出連線使用 (如果使用連線集區,則為連接埠 6432)。
  3. 確認您的連接字串和其他連線設定。
  4. 在儀表板中檢查服務健康情況。

下一步