カテゴリ | 説明 |
サポートバージョン | 1. ソースデータベース 自社構築データベース PostgreSQL 9.4、9.5、9.6、10-17 第三者クラウドプロバイダー 9.4、9.5、9.6、10-17 Alibaba Cloud RDS PostgreSQL AWS RDS PostgreSQL Huawei Cloud RDS for PostgreSQL TencentDB for PostgreSQL 9.4、9.5、9.6、10-17(同一メインアカウント間の移行/異なるメインアカウント間の移行) 2. ターゲットデータベース TencentDB for PostgreSQL 9.4、9.5、9.6、10-17 |
ソースデータベースへの影響 | 1. DTSはフルデータ移行を実行する際に、ソースインスタンスのリソースをある程度占有し、ソースインスタンスの負荷上昇を引き起こし、データベース自体の負担を増加させる可能性があります。データベースの設定が低すぎる場合は、ビジネスのオフピーク期に移行することをお勧めします。 2. 実際の移行プロセスでは、移行速度はソース側の読み取り性能、ソース側とターゲットインスタンス間のネットワーク帯域幅、ターゲットインスタンスのスペック性能などの要因によって影響を受け、異なります。移行の並列度はターゲットインスタンスのスペックのコア数によって決まります。例えば、ターゲットインスタンスが2コアの場合、並列度は2になります。 |
移行対象 | 相互に関連するデータオブジェクトは同時に移行する必要があります。そうしないと移行が失敗します。一般的な関連関係:ビューがテーブルを参照、ビューがビューを参照、ストアドプロシージャ/関数/トリガーがビュー/テーブルを参照、主キーと外部キーの関連テーブルなど。 |
高度な移行オブジェクト | デフォルトでは、ストアドプロシージャ、関数、外部キーを含むすべての高度なオブジェクトを移行します。 高度なオブジェクトの移行は一回限りの操作です。タスク開始前にソースデータベースに既に存在する高度なオブジェクトのみを移行できます。 ストアドプロシージャ、関数、外部キーは、構造移行段階で移行されます。 |
ソースデータベース要件 | 移行タイプとしてフル+増分移行を選択した場合、ソースデータベースのテーブルには主キーが必要です。そうしないと、ソースデータベースとターゲットデータベースのデータの不一致が発生します。主キーのないテーブルについては、フル移行を選択することをお勧めします。 |
ターゲットデータベース要件 | インスタンス全体を移行する場合、ターゲットデータベースにソースデータベースと同じ名前のユーザーとロールが存在してはなりません。 |
ネットワーク説明 | 1. マイグレーションタスクを設定する際、ソースデータベースのアドレスにはPostgreSQLインスタンスに直接接続できるIPとPortを使用する必要があります。pgpoolなどのプロキシのIPとPortは使用できません。 2. 移行効率を確保するため、CVM自己構築インスタンスの移行は地域をまたぐ移行をサポートしていません。地域をまたぐ移行が必要な場合は、パブリックネットワーク接続方式を選択してください。 |
サポートされるSQL | 1. DDL TABLE:CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、RENAME TABLE VIEW:CREATE VIEW、ALTER VIEW、DROP VIEW INDEX:CREATE INDEX、DROP INDEX TYPE:CREATE TYPE、DROP TYPE SEQUENCE:CREATE SEQUENCE、DROP SEQUENCE 説明: データベース全体の移行時のみ、FUNCTION、PROCEDURE、TRIGGERオブジェクトのDDL操作をサポートします。 |
操作制限 | 1. 移行中は、ソースデータベースとターゲットデータベース内のユーザー情報(ユーザー名、パスワード、権限を含む)とポート番号を変更、削除しないでください。 2. 移行タスクの開始時に、システムはソースデータベースに __tencentdb__で始まるSCHEMAを自動的に作成し、ターゲットデータベースに__dst__resume__tencentdb__で始まるSCHEMAを自動的に作成します。これらのSCHEMA内のオブジェクトは、DTSの内部動作をサポートするために使用されます。手動で削除しないでください。移行タスクの完了後、DTSはこれらの一時オブジェクトを自動的にクリーンアップします。このプロセスに手動の介入は必要ありません。3. マイグレーションタスクが完了し、完了ボタンをクリックした後でのみ、以下の操作を実行できます: GENERATED ALWAYS AS IDENTITYを設定します。説明: 自動増分列を含むテーブルが必要です。
ソースデータベースのシーケンスの last_valueに基づいて、ターゲットデータベースの対応するシーケンスのlast_valueを更新します。オブジェクトコメントの移行。 ソースデータベースとターゲットデータベースで作成されたマイグレーションタスクのSCHEMAをクリーンアップしてください。 増分移行を選択したシナリオでは、ソースデータベースで作成されたパブリケーションとレプリケーションスロットが削除されます。 4. 増分DDL。 オブジェクトSCHEMAの変更はサポートされていません。 DROPステートメントを実行する際に複数のオブジェクトを削除する場合、すべてのオブジェクトが同じSCHEMAに属している必要があります。そうでない場合は、オブジェクトごとにSCHEMAを指定する必要があります。CREATE SCHEMA文でテーブル要素句を使用してテーブルを作成することはサポートされていません。5. 増分DDLは、plsql内(匿名ブロック、procedure、function)で実行されるDDLを移行しません。 6. テーブル名の変更はサポートされていません。 7. 匿名ブロック内で EXECUTE FORMAT(CREATE TABLE)方式によるテーブル作成操作は現在サポートされていません。8. 構造初期化後かつフルエクスポート前に、ソース側でDDL変更を実行した場合、関連する変更はターゲット側に同期されません。 9. Tencent Cloud PostgreSQLデータベースのpostgresユーザーはユーザーに提供されないため、ソースデータベースでpostgresユーザーを使用して作成されたオブジェクトがターゲットデータベースに同期された後、オブジェクトのownerはターゲットデータベースの移行アカウントに変更されます。 |
データ移行の説明 | DTSはデータ移行タスクを開始する際に、増分移行を選択した場合、移行対象のテーブルにレプリケーション属性 ALTER TABLE XXX REPLICA IDENTITY FULLを設定します。この操作によりテーブルがロックされ、テーブルに長時間のトランザクションがあると、そのテーブルが長時間ロックされ、ソースデータベースの業務に影響を及ぼします。ソースデータベースの業務への影響を軽減するために、ソースデータベースでテーブルロック操作が存在しないようにし、業務の低ピーク時にタスクを開始するか、または上記のSQLを手動で実行してからタスクを開始することをお勧めします。DTSはデータ移行タスクを開始する際に、データベースインスタンスに未コミットの長いトランザクションが存在する場合、レプリケーションスロットslotの作成がタイムアウトし、その結果タスクが失敗する可能性があります。 |
フィードバック