0

SymmetricDS バージョン 3.4.8 を使用して 2 つの PostgreSQL DB を同期しています。

次の問題が発生しました。いくつかの依存テーブルがあります。たとえば、' node ' テーブルと ' device ' テーブルがあり、' device ' テーブルには ' node ' テーブルへの FK があります。' node ' テーブルは既に同期されているが ' device ' は同期されていない場合 (つまり、' node ' テーブルと ' device ' テーブルの初期ロードの間)初期同期中にこれらのテーブルに新しい行が追加された場合、スレーブ ノードでの ' device ' テーブルの処理キーが「 node」テーブルに存在しないため、外部キー制約に違反するため、新しい行を挿入しようとして失敗します。この問題をどのように処理できますか?

ありがとう

4

1 に答える 1

0

SymmetricDS は、デフォルトで初期ロード バッチに別のチャネルを使用します。アクティブな環境での初期読み込み時に、これらの FK 違反が一時的に発生する可能性があります。

初期ロード チャネルで FK 違反が発生すると、チャネルは中断されます。不足している PK を含むデータ チャネルの同期が開始されます。データ チャネルが完了すると、初期ロード チャネルが再度同期を試みます。今回は、必要な PK がターゲットで使用できるようになったため、エラーは発生しません。

于 2014-03-03T22:00:33.180 に答える