本文提供適用於 PostgreSQL 的 Azure 資料庫概觀,協助您熟悉其主要功能和核心概念。
適用於 PostgreSQL 的 Azure 資料庫是一項完全受控的資料庫服務,其設計目的是讓您對資料庫管理功能和組態設定進行細微控制和彈性。 該服務根據您的需求提供靈活性和伺服器配置自訂。 此架構可讓您將資料庫引擎與用戶端層並置,以降低延遲,並在單一可用性區域內和多個可用性區域內選擇高可用性。 Azure Database for PostgreSQL 靈活伺服器實例也提供成本優化控制,能啟動與停止伺服器,還有突發式計算層級,非常適合不持續需要完整運算容量的工作負載。 此服務支持 PostgreSQL 的各種主要社群版本。 如需支援之特定版本的詳細資訊,請參閱 適用於 PostgreSQL 的 Azure 資料庫中支援的 PostgreSQL 版本。 服務在各個 Azure 區域中提供。
Azure Database for PostgreSQL 最適合用於:
- 需要控制和自訂的應用程式開發。
- 區域備援高可用性。
- 受控維護期間。
架構與高可用性
適用於 PostgreSQL 的 Azure 資料庫部署模型旨在支援單一可用性區域內和多個可用性區域的高可用性。 此模型架構會將計算和儲存體分開。 資料庫引擎會在 Linux 虛擬機器內的容器上執行,而資料檔案則位於 Azure 儲存體上。 記憶體會維護資料庫檔案的三個本地備援同步複本,以確保數據持久性。
如果您設定區域備援高可用性,服務會在相同 Azure 區域內的可用性區域中佈建並維護暖待命伺服器。 來源伺服器上的資料變更會同步複寫到待命伺服器,以確保零資料遺失。 有了區域備援高可用性,一旦觸發計畫或未規劃的容錯移轉事件,待命伺服器就會立即上線,並可處理傳入的異動。 這項功能允許在支援多個可用性區域的 Azure 區域內,從可用性區域失敗中恢復服務,如下圖所示。
如需詳細資訊,請參閱 高可用性 。
使用受控維護視窗自動修補
此服務會執行基礎硬體、OS 和資料庫引擎的自動修補。 修補包含安全性和軟體更新。 計劃性維護版本包含 PostgreSQL 引擎的次要版本升級。 您可以將修補排程設定為系統管理,或定義自訂排程。 在維護排程期間,會套用修補程式,而且伺服器可能需要在修補程式中重新啟動,才能完成更新。 透過自訂排程,您可以讓修補週期可預測,並選擇對業務影響最小的維護時段。 一般而言,服務會遵循持續整合和發行內的每月發行排程。
自動備份
適用於 PostgreSQL 的 Azure 資料庫會自動建立伺服器備份,並將其儲存在區域的區域備援儲存體 (ZRS) 上。 您可以將伺服器還原到備份保留期間內的任何時間點。 預設的備份保留期限是七天。 您可以選擇性地設定最多 35 天的保留期。 所有備份都會使用 AES 256 位元加密進行加密。 如需詳細資訊,請參閱 備份。
在幾秒之內即可調整效能和規模
適用於 PostgreSQL 的 Azure 資料庫提供三個計算層:高載、一般用途和記憶體最佳化。 可高載層最適合用於無須持續計算容量的低成本開發和低並行工作負載。 一般用途和記憶體最佳化層更適合需要高並行、規模和可預測效能的生產工作負載。 您可以每月花費幾美元在小型資料庫上建置您的第一個應用程式,然後無縫調整規模以滿足您的解決方案需求。
停止和啟動伺服器以降低 TCO
適用於 PostgreSQL 的 Azure 資料庫可讓您視需要停止和啟動伺服器,以降低 TCO。 當您停止伺服器時,計算層計費會立即停止。 此功能可以在開發、測試和有時限的可預測生產工作負載期間顯著節省成本。 除非您更早重新啟動伺服器,否則伺服器會保持停止狀態 7 天。
企業級安全性
Azure Database for PostgreSQL 使用 FIPS 140-2 已驗證的加密模組對靜止資料進行儲存加密。 該服務會加密數據,包括運行查詢時創建的備份和臨時文件。 它使用 Azure 儲存體加密中包含的 AES 256 位密碼,而且金鑰可以由系統管理 (預設) 。 適用於 PostgreSQL 的 Azure 資料庫會使用預設強制執行的預設傳輸層安全性 (SSL/TLS) 來加密動態中的資料。 此服務會強制執行並支援 TLS 1.2 版及更新版本。
PostgreSQL 彈性伺服器實例的 Azure Database 允許透過 Azure 虛擬網路對伺服器進行完全私有存取。 Azure 虛擬網路中的伺服器只能透過私人 IP 位址連線。 透過虛擬網路整合,會拒絕公用存取,而且無法使用公用端點連線到伺服器。
監視和警示
適用於 PostgreSQL 的 Azure 資料庫具有內建的效能監視和警示功能。 所有 Azure 計量都有一分鐘的頻率,分別提供 30 天的歷程記錄。 您可以在計量上設定警示。 服務會公開主機伺服器計量來監視資源使用率,並允許設定慢速查詢記錄。 使用這些工具,您可以快速將工作負載最佳化,並設定伺服器以獲得最佳效能。
內建 PgBouncer
適用於 PostgreSQL 的 Azure 資料庫彈性伺服器實例具有 內建的 PgBouncer 和連線共用器。 您可以啟用它,並使用相同的主機名稱和埠 6432,透過 PgBouncer 將您的應用程式連線到 Azure Database for PostgreSQL 的彈性伺服器實例。 啟用時,PgBouncer 也適用於埠 8432 下的彈性叢集。
「Azure」區域
在 Azure 中執行工作負載,其中一項優點即是全球性。 適用於 PostgreSQL 的 Azure 資料庫目前可在下列 Azure 區域中使用:
| Region | 英特爾計算 | AMD 運算 | 機密運算 | 區域備援 HA | 相同區域 HA | 地理冗餘備份 |
|---|---|---|---|---|---|---|
| 澳大利亞中部 | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 澳大利亞中部 2 * | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ❌ |
| Australia East | ✅ (第三/第四/第五/第六) | ✅ (第五版) | ❌ | ✅ | ✅ | ✅ |
| Australia Southeast | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 奧地利東部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ✅ | ✅ | ❌ |
| 比利時中部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ✅ | ✅ | ❌ |
| Brazil South | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ $ | ✅ | ❌ |
| 巴西東南部 * | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ❌ |
| 加拿大中部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ✅ | ✅ | ✅ |
| 加拿大東部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ❌ | ✅ | ✅ |
| 印度中部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ $ | ✅ | ✅ |
| Central US | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ | ✅ | ✅ |
| 智利中部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ✅ | ✅ | ❌ |
| 中國東部 2 | ✅ (第三/第四版) | ❌ | ❌ | ❌ | ✅ | ❌ |
| 中國東部 3 | ✅ (第三/第四版) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 中國北部 2 | ✅ (第三/第四版) | ❌ | ❌ | ❌ | ✅ | ❌ |
| 中國北部 3 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ | ✅ | ✅ |
| 東亞 | ✅ (第三/第四/第五) | ✅ (第六卷) | ❌ | ✅ $ ** | ✅ | ✅ |
| 美國東部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ✅ $ | ✅ | ✅ |
| 美國東部 2 | ✅ (第三/第四版) | ❌ | ❌ | ✅ $ | ✅ | ✅ |
| 法國中部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ | ✅ | ✅ |
| 法國南部 | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 德國北部 * | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 德國中西部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ $ | ✅ | ✅ |
| 印尼中部 | ✅ (第三/第四/第五) | ✅ (第五/第六版) | ❌ | ✅ | ✅ | ❌ |
| 以色列中部 | ✅ (第三/第四版) | ❌ | ❌ | ✅ | ✅ | ❌ |
| 義大利北部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ | ✅ | ❌ |
| 日本東部 | ✅ (第三/第四版) | ❌ | ❌ | ✅ | ✅ | ✅ |
| 日本西部 | ✅ (第三/第四/第五) | ✅ (第六卷) | ❌ | ❌ | ✅ | ✅ |
| Jio 印度中部 | ✅ (第三版) | ❌ | ❌ | ❌ | ✅ | ✅ |
| Jio 印度西部 | ✅ (第三版) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 南韓中部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ ** | ✅ | ✅ |
| 南韓南部 | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 馬來西亞西部 | ✅ (第三/第四/第五) | ✅ (第五/第六版) | ❌ | ✅ | ✅ | ❌ |
| 墨西哥中部 | ✅ (第三/第四版) | ❌ | ❌ | ✅ $ | ✅ | ❌ |
| 紐西蘭北部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ | ✅ | ❌ |
| 美國中北部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ❌ | ✅ | ✅ |
| 北歐 | ✅ (第三/第四/第五) | ❌ | ✅ (第五版) | ✅ $ | ✅ | ✅ |
| 挪威東部 * | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ✅ | ✅ | ✅ |
| 挪威西部 | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 波蘭中部 | ✅ (第三/第四版) | ❌ | ❌ | ✅ | ✅ | ❌ |
| 卡達中部 | ✅ (第三/第四版) | ❌ | ❌ | ✅ $ | ✅ | ❌ |
| 南非北部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ | ✅ | ✅ |
| 南非西部 * | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 美國中南部 | ✅ (第三/第四版) | ❌ | ❌ | ✅ $ | ✅ | ✅ |
| 印度南部 | ✅ (第三/第四/第五) | ✅ (第六卷) | ❌ | ✅ | ✅ | ✅ |
| 東南亞 | ✅ (第三/第四版) | ❌ | ❌ | ✅ $ | ✅ | ✅ |
| 西班牙中部 | ✅ (第三/第四版) | ❌ | ❌ | ✅ | ✅ | ❌ |
| 瑞典中部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ | ✅ | ✅ |
| 瑞士北部 | ✅ (第三/第四/第五) | ❌ | ❌ | ✅ | ✅ | ✅ |
| 瑞士西部 * | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 阿拉伯聯合大公國中部 * | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 阿拉伯聯合大公國北部 | ✅ (第三/第四/第五) | ❌ | ✅ (第五版) | ✅ | ✅ | ✅ |
| 英國南部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ✅ | ✅ | ✅ |
| 英國西部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ❌ | ✅ | ✅ |
| US Gov 亞利桑那州 | ✅ (第三/第四版) | ❌ | ❌ | ❌ | ✅ | ❌ |
| US Gov 德克薩斯州 | ✅ (第三/第四版) | ❌ | ❌ | ❌ | ✅ | ❌ |
| US Gov 維吉尼亞州 | ✅ (第三/第四版) | ❌ | ❌ | ✅ | ✅ | ✅ |
| 美國中西部 | ✅ (第三/第四/第五) | ❌ | ❌ | ❌ | ✅ | ✅ |
| 西歐 | ✅ (第三/第四/第五) | ❌ | ✅ (第五版) | ✅ $ | ✅ | ✅ |
| 美國西部 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ❌ | ✅ | ✅ |
| 美國西部 2 | ✅ (第三/第四版) | ❌ | ❌ | ✅ $ | ✅ | ✅ |
| 美國西部 3 | ✅ (第三/第四/第五) | ✅ (第五版) | ❌ | ✅ ** | ✅ | ❌ |
$ 這些區域中暫時封鎖了新的區域備援高可用性部署。 該服務完全支援已配置好的 HA 伺服器。
$ 這些地區的新伺服器部署暫時被封鎖。 該服務完全支援已配置好的伺服器。
** 當您在這些區域中佈建新的伺服器時,現在可以部署區域備援高可用性。 對於在區域開始支援 AZ 之前部署在 AZ 且 沒有偏好 的現有伺服器(可在 Azure 入口網站查詢),即使你啟用區域冗餘 HA,備用伺服器仍配置在與主伺服器相同的 AZ(同一區域 HA)。 在此情況下,為了實現區域冗餘的高可用性,請參考以下 特殊考量。
(*) 某些區域僅能支援特定客戶案例,例如國家/地區內災害復原。 你只能在申請時,透過建立新的支援請求來存取這些區域。
Note
如果您的應用程式需要區域備援高可用性 (HA),但在偏好的 Azure 區域中無法使用,請考慮在相同地理位置內使用其他提供區域備援高可用性的區域,例如美國東部 2 可使用美國東部、美國中北部可使用美國中部等等。
V6 SKU 系列限制
- 不支援從 V6 SKU 系列擴展到 Burstable 等級。
- 不支援從 Burstable 擴展到 V6 SKU 系列。
- 不支援虛擬網路整合。
Migration
適用於 PostgreSQL 的 Azure 資料庫會執行 PostgreSQL 的社群版本。 此版本提供完整的應用程式相容性,而且需要最少的重構,才能將 PostgreSQL 引擎上開發的現有應用程式移轉至適用於 PostgreSQL 的 Azure 資料庫。
- Azure 資料庫移轉服務 – 若要以最短的停機時間無縫且簡化地移轉至適用於 PostgreSQL 的 Azure 資料庫,請使用 Azure 資料庫移轉服務。 請瀏覽 什麼是適用於 PostgreSQL 的 Azure 資料庫中的移轉服務?
- Dump and Restore — 對於可以承受一些停機時間的離線移轉,使用社群工具如 pg_dump 和 pg_restore 進行 Dump 和 Restore,是提供最快移轉的方式。 參閱使用傾印和還原遷移以取得詳細資料。
意見反應與支援
如果您有適用於 PostgreSQL 的 Azure 資料庫的問題或建議,您可以透過下列管道取得協助和支援:
- 若要連絡 Azure 支援,請從 Azure 入口網站提出票證。
- 若要修正您的帳戶問題,請在 Azure 入口網站中提出支援要求。
- 若要提供意見反應或要求新功能,請透過 UserVoice 建立項目。