在 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器中建立彈性叢集

具有彈性叢集的適用於 PostgreSQL 的 Azure 資料庫是一項受控服務,可用來在雲端中執行、管理和調整具有水平向外延展功能的高可用性 PostgreSQL 資料庫。 這個快速入門介紹如何製作彈性叢集。

如果您沒有 Azure 訂用帳戶,請在開始前建立免費 Azure 帳戶

你可以建立一個彈性叢集,就像一個彈性伺服器,並配備一組已配置的 運算和儲存資源。 你要在 Azure 資源群組內建立叢集。 建立適用於 PostgreSQL 的 Azure 資料庫中所述的步驟同樣適用於彈性叢集。 本節概述程序變更。

建立彈性叢集的步驟

使用 Azure 入口網站

  1. 填寫基本資訊後,選擇 「配置伺服器 」連結。

    Azure 入口網站的截圖,顯示 Compute + 儲存區塊,以及一個可操作的 Configure 伺服器連結。

  2. 叢集 區塊中,選擇 彈性叢集 選項。

    Compute + 儲存配置頁面頂部的截圖。伺服器已選定。彈性集群已清除。

  3. 指定節點數量並設定運算大小。

    Compute + 儲存配置的彈性叢集截圖。選擇彈性叢集。節點數量輸入框的值為 4。計算層級和規模選項都可見。

  4. 儲存你的更改,並在主設定頁面驗證你的選擇。 若要更改建立 Citus 擴充功能的預設資料庫名稱,請使用 資料庫名稱 文字框。 然後,選擇 「評論+創建 」來檢視你的選擇。

    主設定頁面的截圖。計算 + 儲存區塊新增一行「分片結構/列」,以及一行表示四個節點。資料庫名稱欄位可用來將預設資料庫名稱從 postgres 更改為你偏好的其他名稱。

  5. 選取 [建立] 以佈建伺服器。

    截圖顯示檢視 + 創建標籤,您可以在部署前檢視叢集細節。

  6. 部署開始了。

    顯示部署進行中的截圖。

  7. 部署完成後,你可以選擇 「釘選到儀表板」。 此操作會在你的 Azure 入口網站儀表板上為該伺服器建立一個圖塊,作為通往伺服器概覽頁面的捷徑。 選取 [移至資源] 會開啟伺服器的 [概觀] 頁面。

    部署完成的截圖。

    根據預設,postgres 資料庫會建立在您的伺服器底下。 你只能在叢集配置時更改這個預設資料庫的名稱。 postgres 資料庫是要用於使用者、公用程式和應用程式的預設資料庫。 (另一個預設資料庫是 azure_maintenance。其功能為將受控服務從使用者動作中分隔出來。您無法存取這個資料庫。)

    Note

    與 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器的連線會透過連接埠 5432 和 6432(PgBouncer)進行通訊。 當您嘗試從公司網路內連線時,網路防火牆可能不允許透過埠 5432 和 6432 的輸出流量。 若是如此,除非 IT 部門開啟埠 5432 和 6432,否則您無法連線到您的伺服器。 彈性叢集也會使用埠 7432 和 8432(PgBouncer)進行跨叢集節點的負載平衡連線,並可能需要您的 IT 部門以類似方式將其納入允許列表中。

取得連線資訊

當你建立彈性叢集執行個體時,入口網站會建立一個使用你所提供名稱的預設資料庫。 要連接你的資料庫伺服器,你需要完整的伺服器名稱和管理員的憑證。 你在快速入門文章之前就提到了這些數值。 如果沒有,你可以在入口網站的伺服器 概覽 頁面輕鬆找到伺服器名稱和認證資訊。

開啟伺服器的 [概觀] 頁面。 記下 伺服器名稱管理員登入。 將您的游標停留在每個欄位上,複製符號就會出現在文字右邊。 視需要選取複製符號來複製值。

螢幕擷取畫面:[伺服器概觀] 頁面。

使用 psql 連線至 適用於 PostgreSQL 的 Azure 資料庫 資料庫

你可以使用許多應用程式來連接你的 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器。 如果你的客戶端電腦安裝了 PostgreSQL,你可以用本地的 psql 實例連接到 適用於 PostgreSQL 的 Azure 資料庫 的彈性伺服器。 使用 psql 命令列工具來連接 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器。

  1. 執行下列 psql 命令,連線到 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器。

    psql --host=<servername> --port=<port> --username=<user> --dbname=<dbname>
    

    例如,下列命令會使用存取認證,連線到您 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器 mydemoserver.postgres.database.azure.com 上名為 postgres 的預設資料庫。 系統提示輸入密碼時,請輸入您選擇的 <server_admin_password>

    psql --host=mydemoserver-pg.postgres.database.azure.com --port=5432 --username=myadmin --dbname=postgres
    

    若要連接叢集中的隨機節點,請使用 7432 埠。

    psql --host=mydemoserver-pg.postgres.database.azure.com --port=7432 --username=myadmin --dbname=postgres
    

    連接後,psql 工具會顯示一個 postgres 提示詞,輸入 SQL 指令。 在初始連線輸出中,可能會因為您正在使用的 psql 版本與適用於 PostgreSQL 的 Azure 資料庫彈性伺服器版本不同而顯示警告。

    psql 輸出範例:

    psql (12.3 (Ubuntu 12.3-1.pgdg18.04+1), server 13.2)
    WARNING: psql major version 12, server major version 13.
          Some psql features might not work.
    SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
    Type "help" for help.
    

    Tip

    如果未將防火牆設定為允許用戶端的 IP 位址,則會發生下列錯誤:

    psql: FATAL: no pg_hba.conf entry for host <IP address>, user "myadmin", database "postgres", SSL on FATAL: 需要 SSL 連線。 指定 SSL 選項,然後再試一次。

    請確認防火牆規則中允許您用戶端的 IP。

  2. 請在提示字元下輸入以下指令,建立一個名為 exampleschema 的空白結構描述:

    CREATE SCHEMA exampleschema;
    
  3. 在提示字元中,執行下列命令,以將結構描述 exampleschema 設為分散式:

    SELECT citus_schema_distribute('exampleschema');
    
  4. 輸入 \q,然後選取 Enter 鍵結束 psql。

你用 psql 連接 elastic 叢集,建立一個空白結構並讓它分散式。

清理資源

Tip

此集合中的其他快速入門都以本快速入門為基礎。 如果你打算繼續使用快速入門,請不要清理你在快速入門中建立的資源。 如果您不打算繼續進行,請依照下列步驟,在入口網站中刪除本快速入門所建立的資源。

要整理你在這份快速入門中建立的資源,請使用以下其中一種方法。 刪除 Azure 資源群組以移除該資源群組中的所有資源。 如果你想保留其他資源,就只刪除伺服器。