SQLgateway を使ったデータベース移行
@Yuri Marx Pereira Gomes のお陰で、非常に優れた Postgres から IRIS へのデータベース移行の例を確認できました。
私の個人的な問題は、DBeaver を移行ツールとして使用することです。
特に、以前の IRIS(それから Caché)の強みの 1 つは、JBDC または ODBC でアクセスできる限り任意の外部 Db にアクセスできる SQLgateways を利用できることであったためです。 そこで、これを実演するために、パッケージを拡張しました。
完全な Docker を含む従来型の OEX パッケージです。
SQLgateway は Docker ビルド中にインストールされ、必要な Linux 用の jdvcdriver はこのリポジトリに含まれています。このデモを高速化するために、移行するテーブルのサイズは少しばかり縮小されています。
テスト方法
すべての移行アクションは、SMP から直接実行可能です。
1.
以下の場所でゲートウェイ接続を確認します。
SMP > 管理 > 構成 > 接続 > SqlGateway_Configuration
接続をテストするには[編集]をクリックします。
そして[接続テスト]をクリックします。
- 「接続成功」を確認します。
- ここでは、しばらくお待ちください。 Postgres コンテナが応答するまでに、かなり時間がかかることがあります。
- しばらくしてから、ブラウザのページを再読み込みし、もう一度テストしてください。
- ソーステーブルを識別します。 SMP でネームスペースを USER に変更し、
SMP > エクスプローラー > SQL > ウィザード > データ移行 に進みます。
3.
必要なインポートパラメーターを設定します。
- 指定ネームスペース
- Type = TABLE
- Gateway = postgres >>> 最初の接続が確定されたら、以下のように選択します。
- Schema = public
- Tables to migrate = all
4.
ターゲットを特定しますが、スキーマが OEX 互換となるように、public から dc_public に変更します。
- すべて変更を忘れずにクリックしてください。
- 両サイドが選択されるように Definitions と Data を移行します。
5.
特殊設定を省略し、デフォルトを使用します。タスクをバックグラウンドで起動します。
6.
結果を確認し、エラーなくすべてが機能していることを確認します。
- テーブルが、まだ移行されていないコンテンツに依存している場合は、エラーが表示される場合があります。
- ステータスに完了が表示されるまで待ちます。
7.
移行ウィザードを終了し、**dc* **でフィルタリングした通常のテーブルビューに戻ります。
- 全 8 つのテーブルが表示され、意味のある列が表示されます。
8.
テーブルを選択して OpenTable をクリックすると、合理的なコンテンツが表示されます。
9.
生成された関連する Class Definitions を見ると、結果と、正常に完了したことを確認できます。