pgrecon: オープンソースのOracleからPostgreSQLへの移行評価およびスキーマ変換ツール
2026年10月22日にDevCrafterAI LLCによって投稿。
関連するオープンソースソフトウェア
Apache-2.0ライセンスで提供される、OracleからPostgreSQLへの移行評価およびスキーマ変換ツールであるpgreconが公開されました。現在のバージョンは0.7.3です。
pgreconは完全にオフラインで動作します。レビュー可能な、読み取り専用のSQL*Plusスクリプトを使用してダンプを作成し、ツールはそれに基づいてローカルのインベントリを構築します。データベースへの接続は一切行いません。決定論的なルールエンジンが、データ型や長さ、ストレージとパーティション、PL/SQLの構文(完全な文法で解析され、パターンマッチングではありません)、使用されているパッケージ、スキーマオブジェクト、パフォーマンスに関する80個のルールをインベントリに対して実行します。各ルールには、行レベルでの証拠と改善のためのガイダンスが付属しています。また、労力見積もり機能は、指定された前提条件に基づいて、各コンポーネントにかかる作業日数を推定します。
この変換ツールは、変換可能な内容について、プレーンなPostgreSQLのDDLを生成します。具体的には、ネイティブパーティションを持つテーブル、制約、インデックス、シーケンス、ビュー(CONNECT BY階層はWITH RECURSIVEに変換)、マテリアライズドビュー、コメント、権限、単純なDMLトリガー、およびスタンドアロンルーチンが含まれます。さらに、ROWNUMを使用した上位N件の取得を、LIMITおよびMERGEステートメントとしてサポートします。変換できない内容は、名前付きの行として残差レポートに記録され、DDLは生成されません。
検証:完全な抽出パスは、毎晩、CI環境でOracle XE 11g、XE 21c、およびOracle Free 23aiに対して検証されます。変換された出力は、コミットごとにPostgreSQL 16、17、および18に適用されます。スキーマファザーは、毎晩、攻撃的なOracleのデータセットを生成し、クラッシュが発生しないこと、データが静かに失われないこと、およびDDLが適用されることを確認します。また、公開ベンチマークのデータは、リポジトリ内のワークフローによって測定されます。このワークフローでは、OracleのHR、OE、およびCOのサンプルデータ、さらにutPLSQL、PLJSON、Logger、およびAlexandriaをライブのOracle XE 21cにインストールし、データを抽出し、変換し、PostgreSQL 16に適用します。結果は、423のステートメントで、拒否されたものがゼロ、バージョン0.7.3です。
Oracle 9.2から23aiまでのバージョンは、2つの抽出スクリプトの階層によってサポートされており、分析側ではPython 3.11以降が必要です。
インストール:pip install pgrecon
プロジェクトページ:muzzammil242.github.io/pgrecon
ソースコード:github.com/Muzzammil242/pgrecon
リリースノート:pgrecon 0.7.3