PostgreSQLエンタープライズ・コンソーシアム(PGECons)は5月8日、「第18回PostgreSQLエンタープライズ・コンソーシアムセミナー ~2017年度活動成果発表会~【in東京】」を都内で開催した。
本稿ではそのうち、作業部会の移行ワーキンググループ(WG)による2017年度活動報告「PostgreSQLへのデータベース移行の道標-成果物の対応状況と移行のポイント・注意点のご紹介-」の概要を紹介する。
移行WGは、「異種データベース管理システム(DBMS)からPostgreSQLへの移行」をテーマに活動。異種DBMSシステムをPostgreSQLへ移行するプロセスが確立していないことが、普及を妨げる大きな障壁であると認識し、異種DBMSからPostgreSQLへの移行を検討する際のガイドラインの作成に取り組んでいる。今までに作成した「異種DBMSからPostgreSQLへの移行ガイド」には、「DB移行フレームワーク編」「スキーマ移行調査編」「組み込み関数移行調査編」などがあり、本編だけでも500ページを超えるボリュームになっているという。
NECの黒澤彰氏
2017年度の活動内容について、移行WGメンバーであるNECの黒澤彰氏は、「2017年度は、SRA OSS日本支社、NEC、日本電子計算、富士通、富士通エフ・アイ・ピー、三菱電機の6社で活動を行った。移行WGの活動は、2017年で6年目を迎えたが、その間にPostgreSQLのバージョンは、活動初期の9.2から5つのバージョンを経て、最新の10に達している。また、『Ora2Pg』や『orafce』などの移行関連ツールも継続的に開発が行われ、新しくできることも増えてきた。そこで、2017年度は、これまでに作成した移行ガイドのメンテナンスを課題に掲げ、特に成果物の多い2012年、2013年の文書更新に取り組んだ」と説明した。
バージョンアップに伴う移行関連の新機能としては、バージョン9.3では「マテリアライズド・ビュー」と「更新可能ビュー」、バージョン9.5では「INSERT ~ ON CONFLICT構文」、そしてバージョン10では「宣言的パーティショニング」が追加されている。「これらの機能追加を踏まえながら、文書のダウンロード数や更新状況、バージョン差分の発生しやすさ、追加したいノウハウがあるかといった点を考慮し、2017年度は『スキーマ移行調査編(2012年)』『ストアドプロシージャ移行調査編(2012、2013年)』『SQL移行調査編(2012年)』の3つの文書を対象に更新作業を実施した」(黒澤氏)という。
具体的な更新内容は、ストアドプロシージャ移行調査編については、PostgreSQL 10ベースで更新を行い、文書のHTML化とともに、書き換えの具体例の追加、パッケージ変数代替、NO_DATA_FOUNDの取り扱い、引数の取り扱いといった新規ノウハウを追加した。スキーマ移行調査編については、PostgreSQL 9.6ベースで更新を行い、マテリアライズド・ビューと更新可能ビューに関する記述の変更など、バージョン差分に対応した。また、移行ツール(Ora2Pg)に関する情報を更新した。SQL移行調査編については、PostgreSQL 9.6ベースで更新を行い、MERGE構文に対してINSERT~ON CONFLICTでの書き換え例を追記したほか、異種DBMSとの仕様差異を追記した。
「これら文書の更新に併せて、今まで年度別に公開されていた成果物を集約し、一覧できるページを公開した。このページから無償で成果物をダウンロードすることができる。今後も、重要度を考慮しながら、順次文書のメンテナンスを進めていく」(黒澤氏)としている。