OracleからPostgreSQLへの移行バグレポート作成 は何をしますか?
OracleデータベースからPostgreSQLへの移行中に発見された不具合について、構造化されたバグレポートを作成します。OracleとPostgreSQLの動作の違いを、重要度、根本原因、是正手順を含む実用的なバグレポートとして文書化する際に使用します。
概要
このスキルは、OracleからPostgreSQLへの移行プロジェクトにおいて、互換性の問題や動作の差異を体系的に記録するためのものです。発見されたすべての不具合は、以下のセクションを含む標準化されたフォーマットで報告されます。
- タイトル: 問題を簡潔に説明
- 重要度: Critical, High, Medium, Lowのいずれか
- 環境: 対象のOracleバージョンとPostgreSQLバージョン
- 再現手順: 問題を再現するための具体的なステップ
- 実際の結果: PostgreSQLで発生するエラーや予期しない動作
- 期待される結果: Oracleでの正常な動作
- 根本原因: 互換性のない関数、データ型のマッピングミス、SQL構文の違いなど
- 是正手順: 推奨される修正(ALTER文、コードの書き換え、回避策など)
使用方法
AIエージェントに以下の情報を提供してください。
- 問題の簡潔な説明
- 関連するSQLコードまたはスキーマ定義
- Oracleでの期待される動作
- PostgreSQLで実際に発生した動作またはエラーメッセージ
- 影響を受けるテーブル、ビュー、またはストアドプロシージャ
例
入力: OracleのTO_CHAR関数がPostgreSQLでエラーになる
出力:
# バグレポート: TO_CHAR関数の互換性問題
- **重要度**: High
- **環境**: Oracle 19c, PostgreSQL 15
- **再現手順**: `SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual;`
- **実際の結果**: PostgreSQLで関数`to_char`は存在するが、日付フォーマットモデルが異なるため予期しない出力
- **期待される結果**: フォーマットされた日付文字列
- **根本原因**: Oracleのフォーマットモデル('YYYY-MM-DD HH24:MI:SS')はPostgreSQLでもほぼ同じだが、`SYSDATE`が存在しない
- **是正手順**:
1. `SYSDATE`を`CURRENT_TIMESTAMP`に置き換え
2. `SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS');`
注意事項
- 機密情報(実際のパスワードや接続文字列など)はレポートに含めないでください
- 可能な限り、問題を最小限の再現ケースに絞り込んでください
- このスキルは移行時のバグ報告を効率化するためのものであり、根本的な問題解決を自動的に行うものではありません