附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
在 Oracle Cloud Infrastructure Compute 執行處理上部署 PostgreSQL 叢集
簡介
PostgreSQL 是開放原始碼物件關聯式資料庫管理系統。它具有高度可擴充性、高度可擴充性,並且具有許多功能。PostgreSQL 支援跨多個資料中心進行資料複製。
本教學課程示範 Oracle Cloud Infrastructure (OCI) Compute 執行處理上 PostgreSQL 叢集的一般三節點部署。在本教學課程中,伺服器是在主控和待命組態中設定,並使用串流複製。
您可以在此處找到自動化指示: terraform-oci-arch-postgresql 。
注意:它會自動安裝
postgis34
和pgvector
。
架構圖
目標
-
部署三節點 PostgreSQL 叢集。
-
修改程式碼以更符合您的需求。
必要條件
-
管理 OCI 租用戶中以下資源的權限:虛擬雲端網路 (VCN)、網際網路閘道、路由表、安全清單、子網路以及執行處理。
-
建立下列資源:
- 1 VCN、
- 1 子網路,
- 1 網際網路閘道、
- 1 個遞送規則,以及
- 3 個運算執行處理 (1 個主要 PostgreSQL 執行處理和 PostgreSQL 的 2 個待命執行處理)。
作業 1:使用 OCI 資源管理程式部署 Terraform 程式碼
您可以使用 terraform 命令行介面 (CLI) 或 OCI 資源管理程式,以兩種方式完成部署。在本教學課程中,我們將使用 OCI Resource Manager。
如需 terraform CLI 的相關資訊,請參閱儲存區域文件: terraform-oci-arch-postgresql 。
-
按一下下列影像即可開始部署資源的 OCI 資源管理程式處理作業。
-
如果您尚未登入,請輸入租用戶和使用者證明資料、複查並接受條款與條件、選取您想要堆疊所在的區域、區間,然後按下一步,移至設定變數的下一個步驟。
-
在設定變數中,輸入下列資訊以設定變數。
- 區間: 選取要在其中部署資源的區間。
- 主要 PostgreSQL 的可用性網域: 選取主要運算執行處理的可用性網域。
- PostgreSQL 版本:您可以選取 9.6、10、11、12 或 13 版本。
- PostgreSQL 密碼:設定密碼以存取 PostgreSQL。
- 部署第一個 PostgreSQL HotStandby:若要部署第一個待命資料庫,請選取此選項。
- 部署第二個 PostgreSQL HotStandby:若要部署第二個待命資料庫,請選取此選項。
- 在專用子網路中建立: 若要在專用子網路中建立執行處理,請選取此選項。
注意:
- 部署第一個和第二個 PostgreSQL HotStandby 可讓您部署一個、二或三個節點。
- 如果您選取在專用子網路中建立,系統將會建立 OCI 堡壘主機服務以允許存取。
-
按一下顯示進階選項,輸入其他可設定的變數資訊。
- 網路選擇性組態:這可讓您指定 VCN 和子網路 CIDR,以及是否建立動態路由閘道 (DRG)。
- 運算、儲存及備份選擇性組態:您可以新增公用 SSH 金鑰來存取 PostgreSQL 執行處理及設定備份。
- PostgreSQL 主要選擇性組態:指定彈性資源配置的 PostgreSQL 主要執行處理容錯域、資源配置、CPU 以及記憶體。
- PostgreSQL HotStandby1 選擇性組態:指定彈性資源配置的 PostgreSQL 第一個待命執行處理可用性網域、容錯域、資源配置、CPU 及記憶體。
- PostgreSQL HotStandby2 選擇性組態:指定彈性資源配置的 PostgreSQL 秒待命執行處理可用性網域、容錯域、資源配置、CPU 及記憶體。
-
按一下下一步以複查資訊。
注意:
- 若要先執行計畫,請取消選取執行套用。
- 如果您選取執行套用,它將會觸發 terraform 套用命令,而且會自動開始啟動設定資源。
-
按一下建立。
工作 2:毀棄部署
若要毀棄您的資源,只要前往堆疊詳細資訊頁面,然後按一下毀棄即可。
瞭解如何安裝及設定 PostgreSQL
如果您需要修改 PostgreSQL 的運作方式,此資訊非常有用。
它可協助您瞭解:
-
安裝和組態的位置完全相同。
-
命令檔的執行順序。
-
每個指令檔的功能概述。
備註:這不涵蓋如何自訂自動化。視變更而定,可能需要在多個地形檔案中進行修改。
-
本自學課程中使用的重要檔案包括:
remote.tf
:在每個 PostgreSQL 執行處理上建置命令檔的 Terraform 檔案。scripts/postgresql_install_binaries.sh
:安裝 PostgreSQL 伺服器、部分擴充功能以及設定防火牆。scripts/postgresql_master_initdb.sh
:起始資料庫。scripts/postgresql_master_setup.sh
:設定 PostgreSQL standby1 的複本。scripts/postgresql_master_setup2.sh
:設定 PostgreSQL standby2 的複本。scripts/postgresql_standby_setup.sh
:複本的其他組態,例如防火牆、最大連線數、編輯replica.conf
。
-
程序檔的執行順序如下:
scripts/postgresql_install_binaries.sh
:在 PostgreSQL 主執行處理上執行。scripts/postgresql_master_initdb.sh
在 PostgreSQL 主執行處理上執行。scripts/postgresql_install_binaries.sh
在 PostgreSQL standby1 執行處理上執行。scripts/postgresql_install_binaries.sh
在 PostgreSQL standby2 執行處理上執行。scripts/postgresql_master_setup.sh
在 PostgreSQL 主執行處理上執行。scripts/postgresql_master_setup2.sh
在 PostgreSQL 主執行處理上執行。scripts/postgresql_standby_setup.sh
在 PostgreSQL standby1 執行處理上執行。scripts/postgresql_standby_setup.sh
在 PostgreSQL standby2 執行處理上執行。
認可
- 作者 - Gabriel Feodorov (雲端資深工程師)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Deploy a PostgreSQL Cluster on Oracle Cloud Infrastructure Compute Instances
G25665-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.