本文說明如何設定變更資料擷取 (CDC),將資料從 Amazon RDS for PostgreSQL 資料庫串流至支援的目的地,例如 BigQuery 或 Cloud Storage。
建立參數群組
啟動 Amazon RDS 資訊主頁。
依序點選「導覽匣」中的「參數群組」和「建立參數群組」。「建立參數群組」頁面隨即顯示。
選取與資料庫相符的資料庫系列,並提供參數群組名稱和說明,然後按一下「建立」。
在剛剛建立的參數群組左側勾選核取方塊,然後按一下「參數群組動作」下方的「編輯」。
為群組設定下列參數。
參數 值 rds.logical_replication 1
按一下 [儲存變更]。
設定來源資料庫
啟動 Amazon RDS 資訊主頁。
按一下「導覽匣」中的 [資料庫]。
選取來源,然後按一下「修改」。
前往「其他設定」專區。
選取您建立的參數群組。
按一下「繼續」。
選取「安排修改時間」下方的 [立即套用]。
確認已將參數群組指派給資料庫執行個體
啟動 Amazon RDS 資訊主頁。
按一下「導覽匣」中的「資料庫」,然後選取資料庫執行個體。
按一下 [設定] 分頁標籤。
確認您建立的參數群組狀態為「pending-reboot」。
重新啟動資料庫執行個體即可完成設定。如要重新啟動執行個體,請按照下列指示操作:
- 按一下「導覽匣」中的「執行個體」。
- 選取您的資料庫執行個體。
- 在「執行個體操作」選單中選取 [重新啟動]。
建立發布作業和複製運算單元
建立出版品。建議您只針對要複製的資料表建立發布作業。這樣一來,Datastream 就只會讀取相關資料,並降低資料庫和 Datastream 的負載:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
更改下列內容:
- PUBLICATION_NAME:出版品名稱。在 Datastream 串流建立精靈中建立串流時,您需要提供這個名稱。
- SCHEMA:包含資料表的結構定義名稱。
- TABLE:要複製的資料表名稱。
您也可以為資料庫中的所有資料表建立發布作業。請注意,這種做法會增加來源資料庫和 Datastream 的負載:
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
輸入下列 PostgreSQL 指令,建立複製運算單元:
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');
更改下列內容:
- REPLICATION_SLOT_NAME:複製運算單元的名稱。在 Datastream 串流建立精靈中建立串流時,您需要提供這個名稱。
建立 Datastream 使用者
如要建立 Datastream 使用者,請輸入下列 PostgreSQL 指令:
CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
更改下列內容:
- USER_NAME:要建立的 Datastream 使用者名稱。
- USER_PASSWORD:您要建立的 Datastream 使用者登入密碼。
將下列權限授予您建立的使用者:
GRANT RDS_REPLICATION TO USER_NAME; GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME; GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME; ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME GRANT SELECT ON TABLES TO USER_NAME;
更改下列內容:
- USER_NAME:要授予權限的使用者。
- SCHEMA_NAME:要授予權限的結構定義名稱。
後續步驟
- 進一步瞭解 Datastream 如何搭配 PostgreSQL 來源運作。