適用於 PostgreSQL 的 Azure 資料庫中的限制 - 單一伺服器
適用於:適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器
重要
適用於 PostgreSQL 的 Azure 資料庫 - 單一伺服器位於淘汰路徑上。 強烈建議您升級至 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器。 如需移轉至 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器的詳細資訊,請參閱單一伺服器 適用於 PostgreSQL 的 Azure 資料庫 發生什麼事?。
下列各節說明資料庫服務中的容量和功能限制。 如果您想要瞭解資源(計算、記憶體、記憶體)層,請參閱 定價層 一文。
連線數目上限
每個定價層和虛擬核心的連線數目上限如下所示。 Azure 系統需要五個連線來監視 適用於 PostgreSQL 的 Azure 資料庫 伺服器。
定價層 | 虛擬核心(s) | 最大 連線 | 最大使用者 連線 |
---|---|---|---|
基本 | 1 | 55 | 50 |
基本 | 2 | 105 | 100 |
一般用途 | 2 | 150 | 145 |
一般用途 | 4 | 250 | 245 |
一般用途 | 8 | 480 | 475 |
一般用途 | 16 | 950 | 945 |
一般用途 | 32 | 1500 | 1495 |
一般用途 | 64 | 1900 | 1895 |
記憶體最佳化 | 2 | 300 | 295 |
記憶體最佳化 | 4 | 500 | 495 |
記憶體最佳化 | 8 | 960 | 955 |
記憶體最佳化 | 16 | 1900 | 1895 |
記憶體最佳化 | 32 | 1987 | 1982 |
當連線超過限制時,您可能會收到下列錯誤:
嚴重:很抱歉,用戶端已太多
重要
為了獲得最佳體驗,建議您使用 pgBouncer 之類的連線共用器,有效率地管理連線。
PostgreSQL 連線甚至閒置,最多可以佔用 2 MB 的記憶體。 此外,建立新的連線需要時間。 大部分的應用程式都會要求許多短期連線,這加劇了這種情況。 結果是實際工作負載可用的資源較少,導致效能降低。 減少閑置連線並重複使用現有連線的連接共享器有助於避免這種情況。 若要深入了解,請瀏覽我們的部落格文章。
功能限制
調整作業
- 目前不支援基本定價層的雙向動態調整。
- 目前不支援減少伺服器記憶體大小。
伺服器版本升級
- 目前不支援主要資料庫引擎版本之間的自動移轉。 如果您想要升級至下一個主要版本,請進行 傾印,並將其還原 至使用新引擎版本建立的伺服器。
請注意,在 PostgreSQL 第 10 版之前, PostgreSQL 版本控制原則 會將 主要版本 升級視為第一 或 第二個數位的增加(例如,9.5 到 9.6 被視為 主要 版本升級)。 從 10 版開始,只有第一個數位的變更會被視為主要版本升級(例如,10.0 到 10.1 是 次要 版本升級,而 10 到 11 則是 主要 版本升級)。
VNeT 服務端點
- VNet 服務端點的支援僅適用於一般用途伺服器和記憶體最佳化伺服器。
還原伺服器
- 使用 PITR 功能時,新伺服器會以與其所依據之伺服器相同的定價層組態來建立。
- 在還原期間建立的新伺服器沒有存在於原始伺服器上的防火牆規則。 必須針對這個新伺服器個別設定防火牆規則。
- 不支援還原已刪除的伺服器。
Windows 上的 UTF-8 個字元
- 在某些情況下,Windows 上的 PostgreSQL 開放原始碼 不支援 UTF-8 字元,這會影響 適用於 PostgreSQL 的 Azure 資料庫。 如需詳細資訊,請參閱 postgresql-archive 中 Bug #15476 上的線程。
GSS 錯誤
如果您看到與 GSS 相關的錯誤,您可能會使用 Azure Postgres 單一伺服器尚未完全支援的較新用戶端/驅動程式版本。 已知此錯誤會影響 JDBC 驅動程式版本 42.2.15 和 42.2.16。
- 我們計劃在 11 月底之前完成更新。 請考慮同時使用工作驅動程式版本。
- 或者,請考慮停用 GSS 要求。 使用
gssEncMode=disable
之類的連線參數。
縮小 儲存體 大小
無法減少 儲存體 大小。 您必須建立具有所需記憶體大小的新伺服器、執行手動 傾印和還原 ,並將資料庫移轉至新的伺服器。