編集部からのお知らせ
解説集:台頭するロボット市場のいま
解説集:データ活用で考えるデータの選び方

「PostgreSQL」へのDB移行と注意点--“基本的な部分での仕様差”に苦労

唐澤正和

2018-05-25 07:15

 PostgreSQLエンタープライズ・コンソーシアム(PGECons)は5月8日、「第18回PostgreSQLエンタープライズ・コンソーシアムセミナー ~2017年度活動成果発表会~【in東京】」を都内で開催した。

 本稿ではそのうち、作業部会の移行ワーキンググループ(WG)による2017年度活動報告「PostgreSQLへのデータベース移行の道標-成果物の対応状況と移行のポイント・注意点のご紹介-」の概要を紹介する。

 移行WGは、「異種データベース管理システム(DBMS)からPostgreSQLへの移行」をテーマに活動。異種DBMSシステムをPostgreSQLへ移行するプロセスが確立していないことが、普及を妨げる大きな障壁であると認識し、異種DBMSからPostgreSQLへの移行を検討する際のガイドラインの作成に取り組んでいる。今までに作成した「異種DBMSからPostgreSQLへの移行ガイド」には、「DB移行フレームワーク編」「スキーマ移行調査編」「組み込み関数移行調査編」などがあり、本編だけでも500ページを超えるボリュームになっているという。

NECの黒澤彰氏
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との仕様差異を追記した。

 「これら文書の更新に併せて、今まで年度別に公開されていた成果物を集約し、一覧できるページを公開した。このページから無償で成果物をダウンロードすることができる。今後も、重要度を考慮しながら、順次文書のメンテナンスを進めていく」(黒澤氏)としている。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

Special PR

特集

CIO

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]