IBM Cloud Docs
開始使用Databases for PostgreSQL

開始使用Databases for PostgreSQL

本教學引導您完成快速開始使用 Databases for PostgreSQL 的步驟,包括佈建一個實體、設定 pgAdmin, 設定您的管理員密碼,以及設定記錄和監控。

請遵循下列步驟來完成指導教學:

請遵循下列步驟來完成指導教學:

請遵循下列步驟來完成指導教學:

請遵循下列步驟來完成指導教學:

開始之前

步驟 1: 透過主控台佈建

  1. 登入 IBM Cloud 主控台。

  2. 按一下 型錄中的 Databases for PostgreSQL 服務

  3. 服務詳細資訊中,配置以下內容:

    • 服務名稱-名稱可以是任何字串,而且是在 Web 及 CLI 中用來識別新部署的名稱。
    • 資源組- 如果您要將服務組織到 資源組 中,請在此欄位中指定資源組。 否則,您可以保留預設值。 如需相關資訊,請參閱管理資源群組
    • Location- 部署的公有雲區域。
  4. 資源配置-指定資料庫的起始 RAM、磁碟及核心。 依預設會選取記憶體和磁碟的大小下限。 使用專用核心,會為您的資源群組提供具有 CPU 共用下限保留的單一承租戶主機。 然後會為您的部署配置您指定的核心數目。 佈建之後,無法縮減磁碟。

  5. 服務配置中,配置以下內容:

    • 資料庫版本僅在部署時設定- 資料庫的部署版本。 若要確保最佳效能,請執行偏好的版本。 會自動使用最新的次要版本。 如需詳細資訊,請參閱 資料庫版本政策
    • 加密-如果您使用 Key Protect,則可以選取實例及金鑰來加密部署的磁碟。 如果您不使用自己的金鑰,部署會自動建立並管理自己的磁碟加密金鑰。
    • [僅在部署時設定]端點- 在您的部署上設定服務端點

    配置適當的設定之後,請按一下 建立 以啟動佈建處理程序。 即會開啟 Databases for PostgreSQL「資源清單」頁面。

  6. 按一下建立。 即會開啟 Cloud Databases 資源清單 頁面。

  7. 佈建實例之後,請按一下實例名稱以檢視相關資訊。

步驟 1: 透過 CLI 佈建

您可以透過 CLI 佈建 Databases for PostgreSQL 實例。 如果您還沒有它,則需要安裝 IBM Cloud CLI

  1. 使用下列指令登入 IBM Cloud:

    ibmcloud login
    

    如果您使用聯合使用者 ID,請務必改用一次性密碼 (ibmcloud login --sso) 或使用 API 金鑰 (ibmcloud --apikey key@key_file) 來驗證。 有關如何使用 CLI 登入的詳細資訊,請參閱 ibmcloud login 下的 一般 CLI(ibmcloud)指令

  2. 建立 Databases for PostgreSQL 範例。

    選取下列其中一種方法:

    • 若要在企業計劃上使用 CLI 建立實體,請執行下列指令:

      ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE_NAME> <SERVICE_PLAN_NAME> <LOCATION> <SERVICE_ENDPOINTS_TYPE> <RESOURCE_GROUP>
      

    下表說明指令中的欄位。

    基本指令格式欄位
    欄位 說明 旗標
    NAME 必須 實體名稱可以是任何字串,並且是網頁和 CLI 中用來識別新部署的名稱。
    SERVICE_NAME 必須 服務的名稱或 ID。 對於 Databases for PostgreSQL,請使用 databases-for-postgresql
    SERVICE_PLAN_NAME 必須 標準方案 (standard)
    LOCATION 必須 您要部署的位置。 若要擷取地區清單,請使用 ibmcloud regions 指令。
    SERVICE_ENDPOINTS_TYPE 設定部署的 服務端點publicprivate
    RESOURCE_GROUP 資源群組的名稱。 預設值為 default -g
    --parameters 要建立服務實例之參數的 JSON 檔案或 JSON 字串 -p

    您會看到類似的回應:

    Creating service instance INSTANCE_NAME in resource group default of account    USER...
    OK
    Service instance INSTANCE_NAME was created.
    
    Name:                INSTANCE_NAME
    ID:                  crn:v1:bluemix:public:databases-for-postgresql:us-east:a/   40ddc34a846383BGB5b60e:dd13152c-fe15-4bb6-af94-fde0af5303f4::
    GUID:                dd13152c-fe15-4bb6-af94-fde0af56897
    Location:            LOCATION
    State:               provisioning
    Type:                service_instance
    Sub Type:            Public
    Service Endpoints:   private
    Allow Cleanup:       false
    Locked:              false
    Created at:          2023-06-26T19:42:07Z
    Updated at:          2023-06-26T19:42:07Z
    Last Operation:
                         Status    create in progress
                         Message   Started create instance operation
    
  3. 要檢查佈建狀態,請使用下列指令:

    ibmcloud resource service-instance <INSTANCE_NAME>
    

    完成時,您會看到如下的回應:

    Retrieving service instance INSTANCE_NAME in resource group default under account USER's Account as USER...
    OK
    
    Name:                  INSTANCE_NAME
    ID:                    crn:v1:bluemix:public:databases-for-postgresql:us-east:a/40ddc34a953a8c02f109835656860e:dd13152c-fe15-4bb6-af94-fde0af5303f4::
    GUID:                  dd13152c-fe15-4bb6-af94-fde5654765
    Location:              <LOCATION>
    Service Name:          databases-for-postgresql
    Service Plan Name:     standard
    Resource Group Name:   default
    State:                 active
    Type:                  service_instance
    Sub Type:              Public
    Locked:                false
    Service Endpoints:     private
    Created at:            2023-06-26T19:42:07Z
    Created by:            USER
    Updated at:            2023-06-26T19:53:25Z
    Last Operation:
                           Status    create succeeded
                           Message   Provisioning PostgreSQL with version 12 (100%)
    
  4. (選用) 執行如下指令來刪除服務實例刪除實例:

    ibmcloud resource service-instance-delete <INSTANCE_NAME>
    

使用 CLI 連接至資料庫

Cloud Databases CLI ReferenceConnecting with psql 中,尋找適當的指令以從 CLI 連接至資料庫。

ibmcloud cdb deployment-connections 指令會處理建立 CLI 連線所涉及的所有項目。 例如,若要連接至名為 "example-postgres" 的部署,請使用類似下列的指令:

ibmcloud cdb deployment-connections example-postgres --start

該指令會提示輸入管理者密碼,然後執行 psql CLI 以連接至資料庫。 若要安裝 Cloud Databases 外掛程式,請參閱 使用這裡的 psql 文件進行連接

--parameters 參數

service-instance-create 指令支援 -p 旗標,它容許將 JSON 格式的參數傳遞至佈建處理程序。 部分參數值是「雲端資源名稱 (CRN)」,可唯一識別雲端中的資源。 所有參數名稱和值都會以字串形式傳遞。

例如,如果從特定備份供應資料庫,且新的資料庫部署在三個成員之間總共需要 9 GB 記憶體,則每個成員供應 3 GB 的指令看起來如下:

ibmcloud resource service-instance-create databases-for-postgresql <SERVICE_NAME> standard us-south \
-p \ '{
  "backup_id": "crn:v1:blue:public:databases-for-postgresql:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
  "members_memory_allocation_mb": "3072"
}'

步驟 1: 透過資源控制器 API 佈建

請遵循下列步驟,以使用 資源控制器 API進行佈建。

  1. 從 API 記號取得 IAM 記號

  2. 您需要知道要部署至其中的資源群組 ID。 此資訊可透過 IBM Cloud CLI 取得。

    使用類似下列的指令:

    ibmcloud resource groups
    
  3. 您需要知道您要部署至其中的地區。

    若要列出可從現行地區佈建部署至其中的所有地區,請使用 Cloud Databases CLI 外掛程式

    指令看起來如下:

    ibmcloud cdb regions --json
    

    取得所有資訊之後,請使用 IBM Cloud 資源控制器來 佈建新的資源實例

    curl -X POST \
      https://resource-controller.cloud.ibm.com/v2/resource_instances \
      -H 'Authorization: Bearer <>' \
      -H 'Content-Type: application/json' \
        -d '{
        "name": "my-instance",
        "target": "blue-us-south",
        "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
        "resource_plan_id": "databases-for-postgresql-standard"
      }'
    

    參數 nametargetresource_groupresource_plan_id 都是必要的。

其他參數清單

  • backup_id-要從中還原之備份資源的 CRN。 備份必須由具有相同服務 ID 的資料庫部署建立。 在佈建之後會載入備份,且會啟動使用該資料的新部署。 備份 CRN 的格式為 crn:v1:<...>:backup:<uuid>。 如果省略,則會供應空的資料庫。

  • version-要佈建的資料庫版本。 如果省略,則會以最新的主要及次要版本來建立資料庫。

  • disk_encryption_key_crn-KMS 金鑰的 CRN (例如 Hyper Protect Crypto ServicesKey Protect),然後用於磁碟加密。 KMS 金鑰 CRN 的格式為 crn:v1:<...>:key:<id>

  • backup_encryption_key_crn-KMS 金鑰的 CRN (例如 Hyper Protect Crypto ServicesKey Protect),然後用於備份加密。 KMS 金鑰 CRN 的格式為 crn:v1:<...>:key:<id>

    若要將金鑰用於備份,您必須先 啟用服務至服務委派

  • members_memory_allocation_mb-要在資料庫內資料庫成員之間共用的記憶體總量。 例如,如果值為 "6144",且有三個資料庫成員,則部署會取得總計 6 GB RAM,每個成員 2 GB RAM。 如果省略,則會使用資料庫類型的預設值。

  • members_disk_allocation_mb-要在資料庫內資料庫成員之間共用的磁碟總量。 例如,如果值為 "30720",且有三個成員,則部署會取得 30 GB 磁碟總計,並為每個成員提供 10 GB 磁碟。 如果省略,則會使用資料庫類型的預設值。

  • members_cpu_allocation_count-啟用並配置指定的專用核心數目給部署。 例如,若要每個成員使用兩個專用核心,請使用 "members_cpu_allocation_count":"2"。 如果省略,預設值「共用 CPU」會使用共用主機上的計算資源。

  • service_endpoints- 您部署上支援的 服務端點publicprivate。 這是必要的參數。

步驟 1: 透過 Terraform 佈建

使用 Terraform 透過 ibm_database Terraform 的資源管理基礎架構。

使用 API

使用 Cloud Databases API 來使用 Databases for PostgreSQL 實例。 資源控制器 API 用來 佈建實例

步驟 2:設定管理員密碼

管理使用者

當您佈建 Databases for PostgreSQL 部署時,會自動建立一個管理員使用者。

請先設定管理者密碼,然後再使用它來連接。

當您在 IBM Cloud中佈建新部署時,系統會自動為您提供 admin 使用者,以存取及管理 PostgreSQL。 設定管理者密碼 之後,請使用它來連接至您的部署。

admin 在資料庫中建立資源 (例如表格) 時,admin 會擁有該物件。 其他使用者無法存取 admin 所建立的資源,除非您明確授與他們許可權。

admin 使用者與您新增至部署的任何其他使用者之間的最大差異是 pg_monitorpg_signal_backend 角色。 pg_monitor 角色提供一組許可權,可讓管理使用者適合監視資料庫伺服器。 pg_signal_backend 角色可讓 admin 使用者傳送信號,以取消其他使用者所起始的查詢及連線。 它無法將信號傳送至超級使用者所擁有的處理程序。

您也可以使用 admin 使用者,將這兩個角色授與部署上的其他使用者。

若要向其他資料庫使用者公開取消查詢的能力,請從 admin 使用者授與 pg_signal_backend 角色。 使用類似下列的指令:

GRANT pg_signal_backend TO joe;

若要容許使用者 joe 取消後端,請使用如下指令將 pg_signal_backend 授與具有 ibm-cloud-base-user 角色的所有使用者:

GRANT pg_signal_backend TO "ibm-cloud-base-user";

此專用權可讓使用者終止與資料庫的任何連線。

若要設定特定的監視使用者 mary,請使用如下指令:

GRANT pg_monitor TO mary;

使用如下指令,將 pg_signal_backend 授與具有 ibm-cloud-base-user 角色的所有使用者:

GRANT pg_monitor TO "ibm-cloud-base-user";

在使用者介面中設定管理員密碼

透過使用者介面,從 IBM Cloud 儀表板中的「資源清單」選取實例,以設定您的「管理密碼」。 然後,選取 設定。 接下來,選取 變更資料庫管理者密碼

透過 CLI 設定管理員密碼

從 IBM Cloud CLI Cloud Databases 外掛程式使用 cdb user-password 指令來設定管理密碼。

例如,若要設定名為 example-deployment 之部署的管理者密碼,請使用下列指令:

ibmcloud cdb user-password example-deployment admin <newpassword>

透過 API 設定管理員密碼

顯示在您服務「總覽部署詳細資訊」部分的基礎端點提供了透過 API 存取此部署的基礎 URL。 搭配使用它與 設定指定使用者的密碼 端點,以設定管理者密碼。

curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \

透過 Terraform 設定管理員密碼

若要設定管理者密碼,請使用 API:

顯示在您服務「總覽部署詳細資訊」部分的基礎端點提供了透過 API 存取此部署的基礎 URL。 搭配使用它與 設定指定使用者的密碼 端點,以設定管理者密碼。

curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \

您也可以使用 CLI:

從 IBM Cloud CLI Cloud Databases 外掛程式使用 cdb user-password 指令來設定管理密碼。

例如,若要設定名為 example-deployment 之部署的管理者密碼,請使用下列指令:

ibmcloud cdb user-password example-deployment admin <newpassword>

若要透過使用者介面設定管理員密碼,請遵循下列步驟:

IBM Cloud Dashboard 的資源清單中選擇您的實例,透過使用者介面設定管理員密碼。 然後,選取 設定。 接下來,選擇變更資料庫管理員密碼

步驟 3:設定 pgAdmin

pgAdmin 作為伺服器執行,並且您透過瀏覽器連接至該伺服器。 當伺服器啟動時,它會在本端主機上執行,預設為 http://127.0.0.1:53113/browser/

當您第一次開啟pgAdmin,您會收到設定主密碼的提示。 此密碼不同於實例的密碼,因為它專門用於 pgAdmin,以將密碼儲存至 PostgreSQL 伺服器或 PostgreSQL 實例。

儀表板 畫面具有 歡迎使用 畫面。 從快速連結中,按一下新增伺服器

在實例的 概觀 頁面上,有一個 端點 畫面,其中包含所有相關連線資訊。

傳回pgAdmin,提供pgAdmin連接到您的實例所需的資訊。

首先,請完成 連線 資訊,

  • 對於 主機名稱/位址,請使用實例的 主機名稱
  • 對於 ,請使用實例的
  • 維護資料庫 仍為 postgres
  • 對於 使用者名稱密碼,請使用您在佈建實例之後設定的 admin 認證。 您可以選擇 pgAdmin 儲存密碼。
  • 角色服務 欄位可以保留空白。

然後,配置 SSL 設定。

  • 從實例 Dashboard overview 頁面中的 端點 畫面 複製憑證資訊。
  • 將憑證儲存至檔案。 (您可以使用下載中提供的名稱,或您自己的檔名。)
  • SSL 模式 欄位設為 驗證-完整
  • 主要憑證 欄位中,選取您儲存實例憑證的檔案。

回到 一般 標籤,為您的實例提供名稱,並在 pgAdmin中新增您要說明或識別實例的任何註解。

如果已勾選 立即連接? 欄位,則當您按一下 儲存 按鈕時,pgAdmin 會嘗試連接至實例。

使用 pgAdmin

pgAdmin 連接之後,您的實例會出現在 伺服器 清單中,並且您會取得包含資訊及統計資料的 儀表板

瀏覽器的資料庫清單中,有您所連接的 postgres 資料庫,也有 ibmclouddb 資料庫,這是所有 Databases for PostgreSQL 部署的預設資料庫。 按一下 ibmclouddb 以連接至它,並展開其相關資訊。

使用 pgAdmin 來檢視、管理及管理 Databases for PostgreSQL 實例中的資料和資料庫。 如需相關資訊,請參閱 pgAdmin 文件

因為 Databases for PostgreSQL 部署的使用者沒有可用的超級使用者存取權,所以無法透過 pgAdmin 使用需要超級使用者的管理功能。

步驟 4: 設定環境定義型限制

環境定義型限制可讓帳戶擁有者及管理者根據存取要求的環境定義,來定義及施行 IBM Cloud® 資源的存取限制。 可以使用環境定義型限制及 Identity and Access Management (IAM) 原則來控制對 Cloud Databases 資源的存取權。

若要設定 Databases for PostgreSQL 實例的環境定義型限制,請遵循 使用環境定義型限制來保護 Cloud Databases 資源中的步驟。

步驟 5: 透過主控台連接 IBM Cloud Monitoring

您可以使用 IBM Cloud Monitoring 來取得應用程式、服務及平台之效能及性能的作業可見性。IBM Cloud Monitoring 提供管理者、DevOps 團隊及開發人員完整堆疊遙測,以及用來監視及疑難排解、定義警示及設計自訂儀表板的進階特性。

有關如何將Monitoring與Databases for PostgreSQL結合使用的更多信息,請參閱 監控整合

步驟 5: 透過 CLI 連接 IBM Cloud Monitoring

您可以使用 IBM Cloud Monitoring 來取得應用程式、服務及平台之效能及性能的作業可見性。IBM Cloud Monitoring 提供管理者、DevOps 團隊及開發人員完整堆疊遙測,以及用來監視及疑難排解、定義警示及設計自訂儀表板的進階特性。

有關如何將Monitoring與Databases for PostgreSQL結合使用的更多信息,請參閱 監控整合

您無法使用 CLI 來連接 IBM Cloud Monitoring。 請使用主控台來完成這項作業。 有關更多信息,請參閱 監控整合

步驟 5: 透過 API 連接 IBM Cloud Monitoring

您可以使用 IBM Cloud Monitoring 來取得應用程式、服務及平台之效能及性能的作業可見性。IBM Cloud Monitoring 提供管理者、DevOps 團隊及開發人員完整堆疊遙測,以及用來監視及疑難排解、定義警示及設計自訂儀表板的進階特性。

有關如何將Monitoring與Databases for PostgreSQL結合使用的更多信息,請參閱 監控整合

您無法使用 CLI 來連接 IBM Cloud Monitoring。 請使用主控台來完成這項作業。 有關更多信息,請參閱 監控整合

步驟 5: 透過 Terraform 連接 IBM Cloud Monitoring

您可以使用 IBM Cloud Monitoring 來取得應用程式、服務及平台之效能及性能的作業可見性。IBM Cloud Monitoring 提供管理者、DevOps 團隊及開發人員完整堆疊遙測,以及用來監視及疑難排解、定義警示及設計自訂儀表板的進階特性。

有關如何將Monitoring與Databases for PostgreSQL結合使用的更多信息,請參閱 監控整合

您無法使用 CLI 來連接 IBM Cloud Monitoring。 請使用主控台來完成這項作業。 有關更多信息,請參閱 監控整合

步驟 6:連接IBM Cloud Activity Tracker Event Routing

IBM Cloud Activity Tracker Event Routing讓您可以查看、管理和審核服務活動,以遵守公司政策和行業法規。Activity Tracker Event Routing記錄使用者啟動的變更IBM Cloud中服務狀態的活動。 使用Activity Tracker Event Routing追蹤使用者和應用程式如何與Databases for PostgreSQL服務互動。

若要啟動並執行Activity Tracker Event Routing,請 參閱Activity Tracker Event Routing入門

Activity Tracker Event Routing 在每個位置只能有一個實例。 若要檢視事件,您必須在可以使用服務實例的相同位置中存取 Activity Tracker Event Routing 服務的 Web 使用者介面。

有關特定於Databases for PostgreSQL的事件的更多信息,請參閱 活動追蹤事件

事件的格式符合雲端稽核資料聯盟 (CADF) 標準。 如需它們所包含資訊的進一步詳細資料,請參閱 CADF 標準

步驟 6: 透過 CLI 連接 IBM Cloud® Activity Tracker

IBM Cloud Activity Tracker 可讓您檢視、管理及審核服務活動,以符合公司原則及產業法規。Activity Tracker 記錄使用者起始的活動,這些活動會變更 IBM Cloud中服務的狀態。 使用 Activity Tracker 來追蹤使用者和應用程式如何與 Databases for PostgreSQL 服務互動。

若要開始進行 Activity Tracker,請參閱 開始使用 Activity Tracker

Activity Tracker 在每個位置只能有一個實例。 若要檢視事件,您必須在可以使用服務實例的相同位置中存取 Activity Tracker 服務的 Web 使用者介面。 如需相關資訊,請參閱 啟動 Web 使用者介面

有關特定於Databases for PostgreSQL的事件的更多信息,請參閱 活動追蹤事件

事件的格式符合雲端稽核資料聯盟 (CADF) 標準。 如需它們所包含資訊的進一步詳細資料,請參閱 CADF 標準

您無法使用 CLI 來連接 Activity Tracker。 請使用主控台來完成這項作業。 有關詳細信息,請參閱 活動追蹤事件

步驟 6: 透過 API 連接 IBM Cloud® Activity Tracker

IBM Cloud Activity Tracker 可讓您檢視、管理及審核服務活動,以符合公司原則及產業法規。Activity Tracker 記錄使用者起始的活動,這些活動會變更 IBM Cloud中服務的狀態。 使用 Activity Tracker 來追蹤使用者和應用程式如何與 Databases for PostgreSQL 服務互動。

若要開始進行 Activity Tracker,請參閱 開始使用 Activity Tracker

Activity Tracker 在每個位置只能有一個實例。 若要檢視事件,您必須在可以使用服務實例的相同位置中存取 Activity Tracker 服務的 Web 使用者介面。 如需相關資訊,請參閱 啟動 Web 使用者介面

有關特定於Databases for PostgreSQL的事件的更多信息,請參閱 活動追蹤事件

事件的格式符合雲端稽核資料聯盟 (CADF) 標準。 如需它們所包含資訊的進一步詳細資料,請參閱 CADF 標準

您無法使用 API 來連接 Activity Tracker。 請使用主控台來完成這項作業。 有關詳細信息,請參閱 活動追蹤事件

步驟 6: 透過 Terraform 連接 IBM Cloud® Activity Tracker

IBM Cloud Activity Tracker 可讓您檢視、管理及審核服務活動,以符合公司原則及產業法規。Activity Tracker 記錄使用者起始的活動,這些活動會變更 IBM Cloud中服務的狀態。 使用 Activity Tracker 來追蹤使用者和應用程式如何與 Databases for PostgreSQL 服務互動。

若要開始進行 Activity Tracker,請參閱 開始使用 Activity Tracker

Activity Tracker 在每個位置只能有一個實例。 若要檢視事件,您必須在可以使用服務實例的相同位置中存取 Activity Tracker 服務的 Web 使用者介面。 如需相關資訊,請參閱 啟動 Web 使用者介面

有關特定於Databases for PostgreSQL的事件的更多信息,請參閱 活動追蹤事件

事件的格式符合雲端稽核資料聯盟 (CADF) 標準。 如需它們所包含資訊的進一步詳細資料,請參閱 CADF 標準

您無法使用 API 來連接 Activity Tracker。 請使用主控台來完成這項作業。 有關詳細信息,請參閱 活動追蹤事件

下一步