Visual Studio Code用 PostgreSQL 拡張機能は、Oracle データベースを PostgreSQL に移行するためのエンドツーエンドのワークフローを提供します。 ガイド付きウィザードでは、Oracle ソースへの接続、スキーマの選択、AI 支援 DDL 変換用の Microsoft Foundry モデルの構成、検証用の PostgreSQL スクラッチ データベースの選択について説明します。 プロジェクトが作成されると、ダッシュボードは抽出、変換、エクスポート、およびレビューを 1 つのビューで追跡します。
Important
Oracle から PostgreSQL への移行ワークフローは、Visual Studio Codeでのみ使用できます。
前提条件
始める前に、以下のことを確認してください:
- Visual Studio Codeがインストールされています。
- PostgreSQL 拡張機能がインストールされている。
- スキーマ抽出の読み取りアクセス許可を持つ Oracle ソース データベースへのアクセス。
- スクラッチ検証データベースとして使用する PostgreSQL インスタンス (Azure Database for PostgreSQL フレキシブル サーバーなど)。
- デプロイされた
gpt-5.2モデルを持つMicrosoft Foundry リソース。 エンドポイント URL と、アクセス権を持つ API キーまたはMicrosoft Entra ID アカウントが必要です。
移行機能が有効になっていることを確認する
pgsql.enableMigrations設定では、移行 (プレビュー) ビューとすべての移行コマンドを制御します。 既定では、この設定は有効になっています。
移行 (プレビュー) ビューがサイドバーに表示されない場合は、設定を確認します。
- VS Code の設定 (ctrl+、Windows/Linux、Cmd+、macOS) を開きます。
-
pgsql.enableMigrationsを検索します。 - 値が
trueされていることを確認します。
移行プロジェクトを作成する
移行プロジェクトは、プロジェクト ワークスペースを作成する前にソース、ターゲット、AI の構成を収集する 4 段階のウィザードです。
手順 1: Projectセットアップ
サイドバーで[ 移行](プレビュー) ビューを開きます。
ビュー ツール バーの [+] ボタンを選択するか、エクスプローラーでワークスペース フォルダーを右クリックし、[移行Projectの作成] を選択します。
[New Oracle to Azure Database for PostgreSQL migration project]\(移行プロジェクトへの新しい Oracle\) ページが開き、必要なものが一覧表示されます。
- ソース データベースの接続の詳細
- 変換するスキーマの名前
- Microsoft Foundry リソースのエンドポイント URL とキー
- 既存の PostgreSQL インスタンスの接続名
[Project名] フィールドに名前を入力します。
[次へ: Oracle 接続] を選択します。
手順 2: Oracle に接続する
[ Oracle への接続] ページでは、Oracle ソース データベースの資格情報が収集され、スキーマを読み込むことができます。
Oracle接続フィールドに入力してください。
フィールド 説明 Oracle ホスト名 Oracle データベース サーバーのホスト名または IP アドレス。 Oracle ポート リスナー ポート (既定値: 1521)。Oracle SID またはサービス名 データベース インスタンスの Oracle SID またはサービス名。 Oracle ユーザー名 スキーマ オブジェクトへの読み取りアクセス権を持つデータベース ユーザー。 Oracle パスワード Oracle ユーザーのパスワード。 [ スキーマの読み込み ] を選択して接続し、使用可能なスキーマの一覧を取得します。
[ スキーマ ] ドロップダウン リストで、移行する 1 つ以上のスキーマを選択します。
[次へ: PostgreSQL 接続] を選択します。
手順 3: Azure Database for PostgreSQL の一時データベースを選択する
Azure Database for PostgreSQL の一時データベースを選択 ページで、AI モデルが変換された DDL ファイルを検証するために使用する PostgreSQL インスタンスを選択します。
Note
検証には専用のスクラッチ データベースを使用します。 拡張機能は、変換プロセス中に、このデータベースに対して変換された DDL を実行する場合があります。
- [PostgreSQL 接続] ドロップダウン リストで、既存の接続プロファイルを選択します。 必要な接続が一覧にない場合は、[ プロファイルの更新 ] を選択して使用可能なプロファイルを再読み込みするか、最初に [接続と ID ] ビューで新しい接続を作成します。
- PostgreSQL データベースのドロップダウン リストで、ターゲット データベースを選択します。 一覧が空の場合は、[ データベースの読み込み ] を選択します。
- データベースを選択すると、拡張機能によって、推奨される PostgreSQL 拡張機能がインストールされていることを自動的に確認します。 [ 拡張機能の確認 ] を選択して、手動でチェックを実行することもできます。 拡張機能がない場合は、その拡張機能が一覧表示され、Azure Database for PostgreSQLフレキシブル サーバーのドキュメントを通じて許可リストとインストールに関するガイダンスが提供されます。
- 次へ: Microsoft Foundry モデル構成 を選択します。
手順 4: Microsoft Foundry モデルを構成する
Microsoft Foundry モデルの選択ページでは、スキーマ変換とコード変換を支える Microsoft Foundryデプロイを設定します。
言語モデルの各フィールドに入力してください。
フィールド 説明 モデル名 gpt-5.2。Microsoft Foundry エンドポイント Microsoft Foundry リソース エンドポイント URL (たとえば、 https://<resource>.openai.azure.com/)認証方法 [API キー] または [Microsoft Entra ID] を選択します。 Microsoft Foundry API キー Microsoft Foundry リソースの API キー (認証方法が API キーの場合に表示されます)。 Azure アカウント リソースへのアクセス権を持つMicrosoft アカウント (認証方法が Microsoft Entra ID の場合に表示されます)。 テナント アカウントの Azure AD テナント(認証方法が Microsoft Entra ID の場合に表示されます)。 展開名 Microsoft Foundry リソースにデプロイされたモデルの名前。 [Test Microsoft Foundry Connection]\(Foundry 接続のテスト\) を選択して接続を確認します。
Create Migration Project を選択します。
Tip
Microsoft Foundry では、最適な移行パフォーマンスのために 500,000 TPM (1 分あたりのトークン数) が推奨されます。
スキーマ移行を実行する
プロジェクトが作成されると、 Oracle 移行 ダッシュボードが開きます。 ダッシュボードには、[ スキーマの移行 ] カードと [ スキーマ レビュー ] カードと、プロジェクトの構成をまとめた [設定] アコーディオンが表示されます。
スキーマの抽出と変換
スキーマ移行カード (手順 1) では、抽出、変換、およびエクスポートが継続的パイプラインとして実行されます。
[ スキーマ移行 ] カードで、[ 移行] を選択します。
パイプラインが進行すると、ボタン ラベルが更新されます。
地位 ボタンラベル 抽出を実行中 抽出中... 抽出完了、変換待ち 移行の再開 実行中の変換 変換中... すべてのフェーズが完了しました 移行の完了 展開されたカードで進行状況を確認する:
- 抽出 では、抽出されたオブジェクト ("抽出された 42 個のオブジェクトのうち 15 個" など) と、現在処理中のスキーマとオブジェクトの数が表示されます。
- 変換 では、変換されたチャンクの数 (たとえば、"変換された 8 つのチャンクのうち 3 つ" など) と、処理中の現在のチャンクが表示されます。
エクスポートが完了したら、[ 移行レポートの表示 ] を選択して、生成された移行レポートを開きます。
移行タスクを確認する
スキーマ レビュー カード (手順 2) には、変換後に手動による注意が必要な項目が表示されます。 レビュー領域の上部にある Grouped / Tasks スイッチャーを使用すると、リストを操作する方法を選択できます。
グループ化ビュー
[グループ化] ビューでは、レビュー タスクがカテゴリ別に折りたたみ可能なアコーディオン グループに整理されます。 関連する問題をまとめて処理する場合は、このビューを使用します。
スキーマ レビュー カードで レビュー を選択してレビュー ペインを展開し、次に グループ化 を選択します。
[ 保留中 ] タブと [ 解決済み ] タブを使用して、まだ注意が必要なタスクと、既に承認したタスクを切り替えます。
グループを展開して、そのメタデータ (スキーマ、オブジェクトの種類、重要度) とその中の個々のタスク カードを表示します。
グループ レベルのアクションを使用して、タスクを一括処理します。
アクション 説明 すべて実行 グループ内のすべての保留中のタスクを Copilot エージェント モードで開き、AI 支援レビューを行います。 すべて解決 グループ内のすべてのタスクを解決済みとしてマークします。 続行する前に、確認ダイアログにグループ名とタスク数が表示されます。 すべてリセット グループ内のすべての解決済みタスクを保留中の状態に戻します。 [ 解決済み ] タブで使用できます。 タスクで表示 このグループにフィルター処理されたフラットな タスク ビューに切り替えます。 グループ内の 1 つのタスクに対して操作するには、[タスクの実行] を選択してエージェント モードCopilot開くか、[解決] を選択して完了をマークします。 解決済みタスクで [リセット ] を選択して、保留中の状態に戻します。
Note
グループに 800 個を超えるタスクが含まれている場合は、[すべて解決] と [すべてリセット] は無効になります。
タスク ビュー
[タスク] ビューには、フラット テーブル内のすべてのレビュー タスクが表示されます。 このビューは、グループに関係なく、すべてのタスクで並べ替え、フィルター処理、検索を行う場合に使用します。
- スイッチャーで [タスク] を選択します。
- フィルター ドロップダウン (Status、 Criticality、 Object Type、 Schema) を使用して、タスク リストを絞り込みます。
- 保留中のアイテムで [タスクの実行] を選択し、AI 支援のレビューと修正のためにCopilot エージェント モードで開きます。
- アイテムを修正したら、[ 解決 ] を選択して完了をマークします。
Tip
トラブルシューティングのために抽出と変換のログ ファイルを検査するには、ダッシュボードで [ログの 表示] を選択します。
アプリケーション コードを移行する
スキーマの移行後、Oracle 固有のアプリケーション コード (SQL スクリプト、ストアド プロシージャ、ローダー コントロール ファイル、シェル スクリプト、またはJava ファイル) を PostgreSQL と互換性のある同等のコードに変換します。 アプリケーションの移行はプレビュー機能です。
移行方法を選択する
この拡張機能には、アプリケーション コード移行用の 2 つのパスが用意されています。
- 完全なアプリの最新化 — GitHub Copilot アプリモダン化拡張機能がインストールされている場合は、[アプリの最新化を使用して移行] を選択し、スキーマ変換からのコーディング ノートを使用して移行を続行します。 続行する前に、生成されたガイダンスを確認するには、[ コーディングノートの表示] を選択します。
- データベース専用オプション - この拡張機能内のデータベース関連のアプリケーション コードのみを変換するには、[ PostgreSQL 拡張機能を使用して移行] を選択します。
拡張機能内のアプリケーション コードを変換する
- [アプリケーション移行] カードで、[データの移行] を選択します (アプリの最新化拡張機能が検出された場合は [方法の選択] を選択します)。
- [ アプリケーションの変換 ] ページで、[ 変換する Oracle アプリケーションの選択 ] を選択し、Oracle アプリケーション コードを含むフォルダーを選択します。
- 変換コンテキストとして PostgreSQL 接続 と PostgreSQL データベース を選択します。
- データベースの一覧が空の場合は、[データベースの 読み込み ] を選択します。
- [ アプリケーションの変換 ] を選択して変換を開始します。
アプリケーションの移行にCopilot ツールを使用する
拡張機能は、移行支援のために 2 つのCopilot言語モデル ツールを登録します。
Oracle クライアント コード アプリケーション コンバーター (
pgsql_migration_oracle_app) - プロンプト テンプレートとスキーマ移行分析のコーディング ガイダンスを使用して、Oracle クライアント アプリケーション コードを PostgreSQL に変換します。 次のパラメーターを受け入れます。- Application Codebase フォルダー (必須) - 変換するコードの場所。
- コーディング ノートの場所のパス (省略可能) - スキーマ移行からノートをコーディングするためのパス。
- Postgres DB 名 (省略可能) - 変換コンテキスト用の PostgreSQL データベースの名前。
- Postgres DB 接続 (省略可能) - PostgreSQL データベースの接続名。
Oracle から Postgres への移行レポートの表示 (
pgsql_migration_show_report) - スキーマ変換によって生成された移行レポートを表示します。 レポート ファイルへのパス パラメーターが必要です。
Copilot ツールの使用方法の詳細については、Copilot統合を参照してください。
変換されたファイルを比較する
変換後は、組み込みの diff コマンドを使用して、変更を並べて確認します。
- エクスプローラーで、移行プロジェクトの
oracleフォルダーまたはpostgresフォルダーの下にある変換された SQL ファイルを右クリックし、[ DDL 移行ファイルペアの比較] を選択します。 - 変換されたアプリケーション コード ファイル (
.sql、.ctl、.sh、.load、または.java) の場合は、ファイルを右クリックし、[ アプリケーション移行ファイルペアの比較] を選択します。
サイド バイ サイドの差分ビューには、変換された PostgreSQL 出力と共に元の Oracle ソースが表示されるため、手動調整が必要な成果物を特定できます。
Note
DDL ファイルは、compare コマンドの構造 folder/oracle|postgres/SCHEMA_NAME/DDL-TYPE/filename.sql に従って、一致するファイル ペアを見つける必要があります。
移行プロジェクトを管理する
サイドバーの [移行] (プレビュー) ビューを使用して、プロジェクトを管理します。
| アクション | 説明 |
|---|---|
| 移行Projectを開く | ダッシュボードで既存の移行プロジェクトを開きます。 |
| エクスプローラーで表示 | エクスプローラー ビューにプロジェクト フォルダーを表示します。 |
| 削除 | 移行プロジェクトを削除します。 削除前に確認を求められます。 |
| [更新] | 現在のワークスペース内の移行プロジェクトの一覧を再読み込みします。 |