PostgreSQL エンタープライズ・コンソーシアム 技術部会 WG#2

異種 DBMS から PostgreSQL への移行ガイド

製作者
担当企業名

© 2014 PostgreSQL Enterprise Consortium

改訂履歴版

改訂日

変更内容

１

2013/04/22

新規作成

2

2014/03/07

2013 年度成果物の説明を追加。

ライセンス

本作品は CC-BY ライセンスによって許諾されています。
ライセンスの内容を知りたい方は http://creativecommons.org/licenses/by/2.1/jp/ でご確認ください。
文書の内容、表記に関する誤り、ご要望、感想等につきましては、 PGECons のサイトを通じてお寄せいただきますようお願いいたします。
サイト URL https://www.pgecons.org/contact/
Eclipse は、 Eclipse Foundation Inc の米国、およびその他の国における商標もしくは登録商標です。
IBM および DB2 は、世界の多くの国で登録された International Business Machines Corporation の商標です。
Intel 、インテルおよび Xeon は、米国およびその他の国における Intel Corporation の商標です。
Java は、 Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
Linux は、 Linus Torvalds 氏の日本およびその他の国における登録商標または商標です。
Red Hat および Shadowman logo は、米国およびその他の国における Red Hat,Inc. の商標または登録商標です。
Microsoft 、 Windows Server 、 SQL Server 、米国 Microsoft Corporation の米国及びその他の国における登録商標または商標です。
MySQL は、 Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
Oracle は、 Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
PostgreSQL は、 PostgreSQL Community Association of Canada のカナダにおける登録商標およびその他の国における商標です。
Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です。
TPC, TPC Benchmark,TPC-C, TPC-E, tpmC, TPC-H, QphH は米国 Transaction Processing Performance Council の商標です
その他、本資料に記載されている社名及び商品名はそれぞれ各社が商標または登録商標として使用している場合があります 。

2/4© 2014 PostgreSQL Enterprise Consortiumはじめに■本書の概要と目的
エンタープライズ領域における PostgreSQL の普及を目的として 2012 年 4 月に設立された PostgreSQL エンタープライズコンソーシアム（以降 PGECons）では、技術部会における PostgreSQL の普及に対する課題の検討を通じて活動テーマを挙げ、その中から具体的な活動を行うため３つのワーキンググループを設立しました。
•WG1（性能ワーキンググループ）•WG2（移行ワーキンググループ）•WG3（設計運用ワーキンググループ）
本書は WG2 の活動の成果物です。2012 年度から 2013 年度にかけて、WG2 では異種 DBMS から PostgreSQLへの移行をテーマとして調査を行い、11 部からなる資料を成果物として公開するに至りました。

■文書の構成WG2 では移行時に発生する作業別に調査活動を実施し、次の成果物を作成しました。
項番

文書名概要

1

DB 移行フレームワーク編

異種 DBMS からの移行とは具体的に何を行うのかを紹介します。
DBMS の移行作業において一般的に発生すると考えられる作業工程を定義し、各工程における検討結果をベースとして移行可否判断の手がかりとなる情報を提供します。

2

システム構成調査編

DBMS の代表的なシステム構成とその特徴を挙げ、PostgreSQL 移行時に採用可能な構成を紹介します。

3

異種 DB 間連携調査編

異種 DBMS で稼動する既存システムとの連携を想定し、異種 DBMS とPostgreSQL の連携について、実現方法や移行前後における機能差などを紹介します。

4

スキーマ移行調査編

PostgreSQL へスキーマを移行する際に注意すべき点を調査し、異種 DBMS とPostgreSQL 間における DDL 仕様の相違点や書き換えが必要な DDL の変換方法を紹介します。

5

データ移行調査および実践編

異種 DBMS から PostgreSQL へデータの移行するために必要となるデータ抽出（Extract）、変換（Transform）、および PostgreSQL への書き出し（Load）を中心に紹介します。また、本文書には実際に DB 移行作業を実施したレポートが含まれます。
2013 年度の成果物として文字コード変換をともなうマルチバイトコードのデータ移行を追加しました。

6

ストアドプロシージャ移行調査編 異種 DBMS と PostgreSQL のストアドプロシージャの仕様の差異から、PostgreSQL へストアドプロシージャを移行する際に注意すべき点について紹介します。
2013 年度の成果物として、Microsoft SQL Server、DB2 からのストアドプロシージャ移行に関する調査結果を追加しました。

7

アプリケーション移行調査編

DB 移行の際、DBMS 接続用ドライバやエラーハンドリング、トランザクション制御方法の違いなどアプリケーション側で意識すべき内容について紹介します。

8

アプリケーション移行実践編

Oracle を利用するオープンソースのソフトウェアをテーマとして PostgreSQL へのDB マイグレーション作業を実際に行い、作業のポイントや移行作業の負荷などを紹介します。

9

SQL 移行調査編

異種 DBMS と PostgreSQL が対応している SQL の差異および、異種 DBMS からPostgreSQL への SQL 文の書き換え方針について、DML を中心に紹介します。

10

組み込み関数移行調査編

PostgreSQL の関数の互換性を調査し、DBMS 毎の組み込み関数実装の有無や書き換えが必要な組み込み関数の変換方法を紹介します。

11

チューニング編

異種 RDBMS からの移行の際、移行元システムで定義されていた性能要件や性能関連の状態、チューニングをポイントを確認して PostgreSQL 構築に反映したり、PostgreSQL 移行時に注意が必要なポイントを紹介します。

3/4© 2014 PostgreSQL Enterprise Consortium12

バージョンアップ編

PostgreSQL は毎年メジャーバージョンアップを行っており、新たに追加された機能を利用するには適切な手順でバージョンアップを行う必要があります。バージョンアップ編では、現在利用中の PostgreSQL をバージョンアップする際に使用するツールや操作方法をご紹介します。

4/4© 2014 PostgreSQL Enterprise Consortium