データベース移行

データベース移行の考え方   近年、システム構築の際にPostgreSQLが活用される例が増えてきました。そうした中で、古くなったシステムを置き換える際に PostgreSQLを活用したり、あるいは実験的にPostgreSQLで作ったシステムを商用データベースを用いたものに変更したりと、 Post

奥畑 裕樹

2005年10月14日 20:00

データベース移行の考え方

   近年、システム構築の際にPostgreSQLが活用される例が増えてきました。そうした中で、古くなったシステムを置き換える際に PostgreSQLを活用したり、あるいは実験的にPostgreSQLで作ったシステムを商用データベースを用いたものに変更したりと、 PostgreSQLと他のデータベース管理ソフトを相互に移行する機会に出会うことがあります。

   それでは、データベースを相互に移行するには、初めに何をしたらよいでしょうか?これは、PostgreSQLとOracleの間に限ったことではありませんが、「移行の対象となるもの」を特定することが大切です。

   データベースを移行する際には、主に次の3つの要素を移行する必要があります。


  • データ
  • システムに埋め込まれたSQL文
  • ストアドプロシージャ

   たとえば、ビジネスの変化と共に業務ロジックが変わり、システムを新規に作成する必要が出てきたとし ましょう。その場合は古くなったシステムからデータだけ移行して、業務ロジックを表すシステム中のSQL文やストアドプロシージャは作り直す必要があるで しょう。逆に、既存のシステムをなるべく変えずにデータベースだけ置き換えたい、という場合は上述した3つの要素をすべて移行する必要が出てきます。その ため、何が移行の対象となるのかをはっきりさせる必要があります。

   次に、それぞれの移行要素に対して、機能性の違いから「移行できるもの」と「移行が難しいもの」が出てきます。移行できるものに対しては、以下のことを知る必要があります。そのためには2つのデータベースの違いを知ることが重要です。


  • そのまま通用するものは何か?
  • 変更する必要があるのはどこか?
  • それはどう変更すればよいのか?

   また、移行が難しいものに対しては、主に次の2つの対処法があります。


  • 足りないものは自作する
  • 呼び出し側のロジックを変更する

   足りないものを自作するとは、ユーザー定義のファンクションなどを活用して、移行先のデータベースに 足りない機能を追加してしまうことです。しかし、中には自作が難しい機能もあります。そのように自作で対応できない場合は、対象となる機能を呼び出してい る側のロジックを変更して対応することも必要です。

   これらを踏まえて、次からそれぞれの要素の移行方法について詳しく見ていきましょう。

サンプルデータについて

   本記事で使用するサンプルデータは、次のURLから入手してください。



Oracle


  • tbl_oracle.sql
  • sample_oracle.sql

PostgreSQL


  • tbl_pg.sql
  • sample_pg.sql

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30