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