具有彈性叢集的適用於 PostgreSQL 的 Azure 資料庫是一項受控服務,可用來在雲端中執行、管理和調整具有水平向外延展功能的高可用性 PostgreSQL 資料庫。 這個快速入門介紹如何製作彈性叢集。
如果您沒有 Azure 訂用帳戶,請在開始前建立免費 Azure 帳戶。
你可以建立一個彈性叢集,就像一個彈性伺服器,並配備一組已配置的 運算和儲存資源。 你要在 Azure 資源群組內建立叢集。 建立適用於 PostgreSQL 的 Azure 資料庫中所述的步驟同樣適用於彈性叢集。 本節概述程序變更。
建立彈性叢集的步驟
使用 Azure 入口網站:
填寫基本資訊後,選擇 「配置伺服器 」連結。
在 叢集 區塊中,選擇 彈性叢集 選項。
指定節點數量並設定運算大小。
儲存你的更改,並在主設定頁面驗證你的選擇。 若要更改建立 Citus 擴充功能的預設資料庫名稱,請使用 資料庫名稱 文字框。 然後,選擇 「評論+創建 」來檢視你的選擇。
選取 [建立] 以佈建伺服器。
部署開始了。
部署完成後,你可以選擇 「釘選到儀表板」。 此操作會在你的 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 資料庫 彈性伺服器。
執行下列 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。
請在提示字元下輸入以下指令,建立一個名為
exampleschema的空白結構描述:CREATE SCHEMA exampleschema;在提示字元中,執行下列命令,以將結構描述
exampleschema設為分散式:SELECT citus_schema_distribute('exampleschema');輸入
\q,然後選取 Enter 鍵結束 psql。
你用 psql 連接 elastic 叢集,建立一個空白結構並讓它分散式。
清理資源
Tip
此集合中的其他快速入門都以本快速入門為基礎。 如果你打算繼續使用快速入門,請不要清理你在快速入門中建立的資源。 如果您不打算繼續進行,請依照下列步驟,在入口網站中刪除本快速入門所建立的資源。
要整理你在這份快速入門中建立的資源,請使用以下其中一種方法。 刪除 Azure 資源群組以移除該資源群組中的所有資源。 如果你想保留其他資源,就只刪除伺服器。