本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
郵政評估 SQL
本節說明使用 Postgre SQL 來源端點之移轉工作的個別預處理評估。
主題
- 驗證DDL事件觸發器是否設置為 ENABLE ALWAYS
- 驗證來源資料庫中是否存在 Post 資料GIS行
- 在完整載入程序期間,驗證目標資料表上是否停用外部索引鍵條件約束
- 驗證是否存在具有相似名稱的表
- 驗證是否有沒有主鍵的ARRAY數據類型的表
- 啟用時驗證目標表上 BatchApplyEnabled 是否存在主鍵或唯一索引
- 驗證目標資料庫的任何資料表是否具有全負載移轉工作的次要索引
- 驗證僅在設置為 true 時 BatchApplyEnabled 使用限制LOB模式
- 驗證移轉是否支援來源資料庫版本 DMS
- 驗證來源資料庫上的logical_decoding_work_mem參數
- 驗證來源資料庫是否有任何長時間執行的交易
- 驗證來源資料庫參數 max_slot_wal_keep_size
- 檢查來源資料庫參數postgres-check-maxwalsenders是否設定為支援CDC。
- 檢查來源資料庫是否已設定 PGLOGICAL
- 驗證源表主鍵是否為LOB數據類型
- 驗證源表是否有主鍵
- 驗證來源資料庫中是否有準備好的交易
- 驗證wal_sender_timeout是否設置為支持的最小所需值 DMS CDC
- 驗證來源資料庫上wal_level是否設定為邏輯
驗證DDL事件觸發器是否設置為 ENABLE ALWAYS
API鍵:postgres-check-ddl-event-trigger
此預付評估會驗證DDL事件觸發器是否設定為。ENABLE ALWAYS
當來源資料庫也是另一個第三方複製系統的目標時,DDL變更可能不會在期間移轉。CDC這種情況可以防DMS止觸發awsdms_intercept_ddl
事件。若要解決這種情況,請修改來源資料庫上的觸發程序,如下列範例所示:
alter event trigger awsdms_intercept_ddl enable always;
如需詳細資訊,請參閱使用 Postgre 資SQL料庫做為DMS來源的限制。
驗證來源資料庫中是否存在 Post 資料GIS行
API鍵:postgres-check-postgis-data-type
此預付評估會驗證來源引擎和目標引擎中存在的 Post GIS 資料類型欄是否不同。 AWS DMS 僅支援同質 (like-to-like) 移轉的 Post GIS 資料類型。
如需詳細資訊,請參閱使用 Postgre 資SQL料庫做為DMS來源的限制。
在完整載入程序期間,驗證目標資料表上是否停用外部索引鍵條件約束
API鍵:postgres-check-session-replication-role
此預處理評估會驗證是否在目標上設定session_replication_role parameter
為,以便REPLICA
在滿載階段停用外來索引鍵限制條件。對於全負載移轉類型,您應該停用外部索引鍵條件約束。
如需 Postgre SQL 端點限制的詳細資訊,請參閱使用 Postgre 資SQL料庫做為的目標。 AWS Database Migration Service
驗證是否存在具有相似名稱的表
API鍵:postgres-check-similar-table-name
此預付評估會驗證來源上是否有相似名稱的表格。在不同情況下寫入具有相同名稱的多個資料表可能會導致複寫期間無法預期的行為。
如需 Postgre SQL 端點限制的詳細資訊,請參閱使用 Postgre 資SQL料庫做為來源的DMS限制。
驗證是否有沒有主鍵的ARRAY數據類型的表
API鍵:postgres-check-table-with-array
此溢價評估會驗證是否有沒有主索引鍵的陣列資料類型的表格。在完整載入期間,會忽略缺少主索引鍵ARRAY
資料類型的資料表。
如需 Postgre SQL 端點限制的詳細資訊,請參閱使用 Postgre 資SQL料庫做為來源的DMS限制。
啟用時驗證目標表上 BatchApplyEnabled 是否存在主鍵或唯一索引
API鍵:postgres-check-batch-apply-target-pk-ui-absence
只有在目標資料表上具有主索引鍵或唯一索引的資料表上,才支援 Batch 套用。沒有主索引鍵或唯一索引的表將導致批次失敗,並 AWS DMS 逐一處理變更。建議您為這類資料表建立個別的工作,並改用交易式套用模式。或者,您可以在目標資料表上建立唯一索引鍵。
如需詳細資訊,請參閱使用 Postgre 資SQL料庫做為的目標。 AWS Database Migration Service
驗證目標資料庫的任何資料表是否具有全負載移轉工作的次要索引
API鍵:postgres-check-target-secondary-indexes
此預付評估會驗證全負載移轉工作範圍內是否有具有次要索引的表格。建議您在完整載入工作期間刪除次要索引。
如需詳細資訊,請參閱使用 Postgre 資SQL料庫做為的目標。 AWS Database Migration Service
驗證僅在設置為 true 時 BatchApplyEnabled 使用限制LOB模式
API鍵:postgres-batch-apply-lob-mode
當LOB資料行包含在複製中時,您只能BatchApplyEnabled
在有限LOB模式下使用。使用LOB模式的其他選項會導致批次失敗,並 AWS DMS 會逐一處理變更。建議您將這些表格移至自己的工作,並改用交易式套用模式。
如需有關BatchApplyEnabled
設定的詳細資訊,請參閱如何使用DMS批次套用功能來改善CDC複寫效能?
驗證移轉是否支援來源資料庫版本 DMS
API鍵:postgres-check-dbversion
此預處理評估會驗證來源資料庫版本是否相容。 AWS DMS
驗證來源資料庫上的logical_decoding_work_mem
參數
API鍵:postgres-check-for-logical-decoding-work-mem
此預先處理評估建議您調整來源資料庫上的logical_decoding_work_mem
參數。在高度交易的資料庫中,您可能會有長時間執行的交易或許多子交易,可能會導致邏輯解碼記憶體耗用量增加,並且需要溢滿到磁碟。這會導致複寫期間的DMS來源延遲很高。在這種情況下,您可能需要調整logical_decoding_work_mem
。此參數在 Postgre SQL 版本 13 及更高版本中受支援。
驗證來源資料庫是否有任何長時間執行的交易
API鍵:postgres-check-longrunningtxn
此預處理評估會驗證來源資料庫是否有任何持續時間超過 10 分鐘的長時間執行交易。啟動工作可能會失敗,因為依預設,會在啟動工作時DMS檢查是否有任何未結交易。
驗證來源資料庫參數 max_slot_wal_keep_size
API鍵:postgres-check-maxslot-wal-keep-size
此預處理評估會驗證設定的值。max_slot_wal_keep_size
當設定max_slot_wal_keep_size
為非預設值時,DMS工作可能會因為移除必要的WAL檔案而失敗。
檢查來源資料庫參數postgres-check-maxwalsenders
是否設定為支援CDC。
API鍵:postgres-check-maxwalsenders
此預處理評估會驗證來源資料庫max_wal_senders
上設定的值。DMS需max_wal_senders
要設定大於 1 才能支援變更資料擷取 (CDC)。
檢查來源資料庫是否已設定 PGLOGICAL
API鍵:postgres-check-pglogical
此預處理評估會驗證該shared_preload_libraries
值是否設定pglogical
為支援。PGLOGICAL
CDC請注意,如果您打算使用測試解碼進行邏輯複製,則可以忽略此評估。
驗證源表主鍵是否為LOB數據類型
API鍵:postgres-check-pk-lob
此預處理評估會驗證資料表的主索引鍵是否為 Large Object () LOB 資料類型。DMS如果來源LOB資料表的資料行做為主索引鍵,則不支援複寫。
驗證源表是否有主鍵
API鍵:postgres-check-pk
此預備評估會驗證工作範圍中使用的表格是否存在主索引鍵。DMS不支援複寫沒有主索引鍵的資料表,除非將複本識別設定為來源資料表full
上。
驗證來源資料庫中是否有準備好的交易
API鍵:postgres-check-preparedtxn
此預處理評估會驗證來源資料庫中是否有任何準備好的交易。如果來源資料庫上有任何準備好的交易,建立複寫插槽可能會停止回應。
驗證wal_sender_timeout
是否設置為支持的最小所需值 DMS CDC
API鍵:postgres-check-walsenderstimeout
此預處理評估會驗證wal_sender_timeout
是否設定為最小 10000 毫秒 (10 秒)。至少CDC需要 10000 毫秒(10 秒)的DMS任務,如果該值小於 10000,則失敗。
驗證來源資料庫上wal_level
是否設定為邏輯
API鍵:postgres-check-wallevel
此預處理評估會驗證是否設定wal_level
為邏輯。若DMSCDC要運作,必須在來源資料庫上啟用此參數。