オープンソースDB運用管理Tips 1

「MySQL」と「PostgreSQL」の基本的な情報と導入方法

第1回の今回は、「MySQL」と「PostgreSQL」の基本的な情報と導入について解説していきます。

梶山 隆輔

2025年12月16日 6:30

はじめに

この連載では、オープンソースのリレーショナル・データベース(RDB)の「MySQL」と「PostgreSQL」を使いこなすヒントを、両製品の共通点と違いを確認しながら解説していきます。

現在、それぞれの製品をベースとしたクラウド・データベースは複数存在しています。一方でユーザーがデータベースを含むインフラ全てを管理する運用形態にもクラウド・ベンダーの都合に振り回されずに済むなどのメリットもあります。連載ではクラウドにも共通するテーマにも触れながら、オープンソースである両製品をフル活用するためのTipsも紹介していきます。

なお、この連載では製品の比較を多く行いますが、製品機能や仕様の優劣についてを論ずる目的のものではないことはあらかじめご了承ください。

今回は、MySQLとPostgreSQLの基本的な情報と導入について解説します。

製品の基本情報

MySQLの開発はPHPやJavaと同じく1995年に始まり、2025年は30周年記念の年です。PostgreSQLは前身となる「POSTGRES」が1986年から実装開始、SQLのインターフェースを統合後に「Postgres95」という名称を経て1996年にPostgreSQLの名称で最初となるv6.0がリリースされています。

MySQLとPostgreSQLはオープンソースのデータベースを代表する製品であることは共通しています。しかし、オープンソースと言ってもライセンスは異なり、また開発する体制にも違いがあります。

MySQLのライセンスはGPL v2および商用ライセンスのデュアル・ライセンスです。厳密には、コミュニティ版のMySQLサーバーに同梱される「OpenSSL」などのライセンスとの互換性のために、ライセンス文書に"Election of GPLv2"という注釈が追加されています。

【参考URL】https://github.com/mysql/mysql-server/blob/trunk/LICENSE

PostgreSQLのライセンスは「PostgreSQL License」です。MITライセンスやBSDライセンスのスタイルであるパーミッシブ(寛容な)ライセンスのタイプとなっており、機能拡張を行って「EDB Advanced」「Extended Server」のようなクローズド・ソースの製品化も可能です。

【参考URL】https://www.postgresql.org/about/licence/

MySQLは開発当初から企業がソフトウェアを開発し、ソースコードを公開するというモデルを取っており、2度の買収を経て現在はオラクルが製品開発を行っています。PostgreSQLは開発コミュニティであるThe PostgreSQL Global Development Groupが開発をリードしています。

表1:製品の基本情報の比較

MySQL PostgreSQL
ライセンス 注釈付きGPL v2
および商用ライセンス
PostgreSQL License
開発チーム オラクル(企業) The PostgreSQL Global Development Group
コミュニティ

製品のリリース・サイクル

両製品のリリース・サイクルには大きな違いが見られます。MySQLのリリースのサイクルはこれまで何度が変更が行われていますが、2025年12月現在は「LTS(Long-Term Support)リリース」と「イノベーション・リリース」の2本立てとなっています。

MySQLのLTSリリースはメジャー・リリースから8年間、基本的には1、4、7、10月(各月のおおむね20日前後)、3ヶ月ごとにバグ修正のみを含んだマイナー・バージョンをリリースし、新機能の追加やデフォルト設定の変更は行わない、長期間利用されることを想定したリリースです。

イノベーション・リリースはいち早く新機能を利用できるよう、3ヶ月ごとにメジャー・バージョン・アップが行われます。イノベーション・リリースは次のメジャー・バージョンが出ると、それまでのバージョンはEOL(End of Life)となります。そしてイノベーション・リリースでの新機能や改良点を集約し、2年後にLTSとしてリリースされることになっています。2025年12月の時点での最新のメジャー・バージョンはLTSリリースが8.4, イノベーション・リリースが9.5です。

図1:MySQLのLTSリリースとイノベーション・リリース

PostgreSQLは、2017年にリリースされたPostgreSQL 10以降は1年に1回、秋にメジャー・バージョンがリリースされます。2、5、8、11月の第2木曜日にマイナー・バージョンがリリースされることになっています。各メジャー・バージョンはリリース後5年間、サポートが継続され、以降は最終のマイナー・バージョンがリリースされてEOLとなります。基本的には5つのメジャー・バージョンが同時にサポートされている形となっています。

表2:リリースに関する比較

MySQL PostgreSQL
最新バージョン
(2025月12月1日時点)
9.5.0イノベーション・リリース
8.4.7 LTS
18.1
メジャー・バージョンの
リリースサイクル
LTS: 2年ごと
イノベーション・リリース: 3ヶ月ごと
1年ごと
マイナー・バージョンの
リリースサイクル
LTS: 3ヶ月ごと
イノベーション・リリース: なし
3ヶ月ごと
マイナー・バージョンの
リリース月
1、4、7、10月 2、5、8、11月
サポート期間 LTS: 8年間
イノベーション・リリース: 3ヶ月
5年間

共通する点として、3ヶ月ごとのマイナー・バージョンとは別に、脆弱性対策などで緊急のリリースが行われることもあります。

バージョン番号

MySQLのバージョン番号は「9.5.0」のように3つの数字で構成されています。リファレンス・マニュアルでは以下のように説明されています。

  • 1桁目: メジャー・バージョン
  • 2桁目: マイナー・バージョン LTSでは固定
  • 3桁目: シリーズ内でのバージョン

しかし、実用上は最初の2桁がメジャー・バージョンとして扱われています。また、3桁目についてはマニュアルに「イノベーション・リリースでは常に0で固定」とされていますが、実際には脆弱性や深刻なバグへの対応などで例外的に0以外のバージョンがリリースされることもあります。実際に9.0.0に特定の状況で再起動不能になるバグが見つかり、22日後に9.0.1がリリースされています。

PostgreSQLのバージョン番号はPostgreSQL 10以降のバージョンでは1桁目がメジャー・バージョン、2桁目がマイナー・バージョンとなっています。以前は9.5.4のように最初の2桁がメジャー・バージョンの扱いとなっていました。

製品のインストールのポイント

両製品ともオープンソースなので、ソースコードを自分でビルドして利用可能です。しかし、ソフトウェアの利用が目的の場合には、MySQLもPostgreSQLも共通してバイナリの利用を推奨しているのが興味深いところです。バイナリのインストールについてもLinuxディストリビューション標準のものは最新ではない場合が多いため、いずれの製品もそれぞれのYumレポジトリの利用やインストール用のパッケージの利用を推奨しています。

Yumレポジトリを利用したインストール手順は両製品とも概ね同じ流れになっています。バイナリそのもののインスタンスの前にYumレポジトリのRPMをインストールするステップがあります。1点、PostgreSQLのマニュアルが親切なのは、インストールするバージョンとOS、CPUアーキテクチャをプルダウンから選択すると、インストール用のコマンドが生成されることにあります。

図2:PostgreSQLのマニュアルでのセットアップ用スクリプト(1から3のプルダウンで対象を選択)

MySQLのマニュアルでは、YumレポジトリのRPMのインストール用コマンドが$> sudo yum localinstall mysql84-community-release-{platform}-{version-number}.noarch.rpmと表示されており、手動でプラットフォーム(ディストリビューション)とOSのバージョン番号を書き換える手間があります。

サポート対象のプラットフォーム

両製品ともに多くのOSをサポートしています。「Red Hat Enterprise Linux」「Rocky Linux」「Oracle Linux」「SUSE」「Ubuntu」「Debian」など主要なLinuxディストリビューションをx86_64に加えてARM64(AArch64)を含めてサポートすることや「Windows」「macOS」「Solaris」をサポートしている点は共通しています。細かな差を上げるときりがありませんが、特徴的な違いは以下の通りです。

表3:サポート対象のプラットフォームの特徴的な違い

MySQL PostgreSQL
Linux
主要ディストリビューション
x86_64版、ARM64版 x86_64版、ARM64版、PowerPC版
"その他"の
ディストリビューション
公式バイナリ提供 ソースコードからビルド
Solaris 公式バイナリ提供 ソースコードからビルド
Windows 公式バイナリ提供 EDB社からバイナリ提供
macOS 公式バイナリ提供 EDB社からバイナリ提供
サポート対象の情報 https://www.mysql.com/support/supportedplatforms/database.html https://www.postgresql.jp/document/17/html/supported-platforms.html

ソースコードの入手方法

MySQLのソースコードは、ダウンロード・サイトまたはGitHubから入手可能です。PostgreSQLの場合はFile Browserのページまたは独自のgitレポジトリからとなります。

表4:ソースコードに関する比較

MySQL PostgreSQL
レポジトリ GitHub(https://github.com/mysql) 独自のgitレポジトリ(https://git.postgresql.org/)
ダウンロード・サイト https://dev.mysql.com/downloads/mysql/
*プルダウンよりSource Codeを選択
https://www.postgresql.org/ftp/source/v18.1/
最新マイナー・バージョンのサイズの例 481.1MB(.tar.gz) 27.9 MB(.tar.gz)

なお、MySQLのソースコードのパッケージがPostgreSQLと比べるとかなり大きくなっていますが、特定のLinuxディストリビューションでライブラリをダイナミック・リンクする前提のものと、「Architecture Independent」と書かれておりライブラリ類も全て含むものがあります。前者のサイズは20MB弱ですが、後者はライブラリとテスト関連のファイルのサイズが大きく数も多いため、トータルで400MB弱から900MB程度と大きくなっています。

おわりに

今回は、MySQLとPostgreSQLの基本的な情報とインストールについて解説しました。どちらもオープンソースの代表的なリレーショナルデータベースですが、それぞれの製品を細かく調べていくと共通点や意外な違いがいろいろと見つかります。

次回は両製品のセキュリティ関連の項目を解説を予定しています。

この記事のキーワード

この記事をシェアしてください

人気記事トップ10

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

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