この連載について
PostgreSQLとは
□ライセンス
PostgreSQLはBSDライセンスに似たPostgreSQL Licenseを採用しており、個人利用・商用利用に関わらず誰でも無償で利用することができます。
ソースコードを改変しても開示する義務はなく、開発者が作成したアプリケーションに組み込んで配布する際にも制限を受けずに済む為、自由度の高いものになっています。
□特徴
PostgreSQLは商用データベースにも劣らない多くの機能を持っています。
SQLは現在最新の標準規格SQL:2008の多くに対応しており、複雑な問い合わせを行うことができます。
その他ビューやトランザクション、ストアドプロシージャ、トリガ等が利用可能です。
拡張性も高く、データ型、関数、演算子といったものが独自に追加できるようになっています。
この拡張性の高さにより、エクステンションといった形でPostgreSQLに本来備わっていない機能を追加することが可能になります。
代表的なものとして、緯度経度のような位置情報を保持し、空間的な演算を行えるようにするPostGISがあります。
スマートフォン、タブレットといったGPSを搭載した端末が普及した背景もあって利用シーンが増えています。
また、最近のバージョンアップではレプリケーション機能が強化されており、運用面での課題も解決されています。
次期バージョンではハードウェアリソースの有効活用(メニーコア)、消費電力の削減(クラウドを想定したデータセンター利用)等が焦点になっているようです。
このように時代に合わせて機能や性能の強化が活発に行われていることがPostgreSQLの特徴といえます。
PostgreSQLは様々なプラットフォーム上で動作しますが、本連載ではLinuxのディストリビューションの1つであるUbuntu上にインストールする例を採り上げます。
Ubuntuをインストールする方法はいくつかありますが、以下のようにVirtualBoxという仮想化ソフトウェアを利用すれば、Windows、Mac、LinuxいずれのOSでも簡単にUbuntuデスクトップ環境が構築できます。
以下のURLからVirtualBoxをダウンロードしインストールを行なってください。
https://www.virtualbox.org/wiki/Downloads
Ubuntu Japanese Teamの以下のURLから仮想ハードディスクイメージをダウンロードし、記載されている手順で仮想マシンをセットアップしてください。
http://www.ubuntulinux.jp/download/ja-remix-vhd
インストール
データベースクラスタ(apt-getでインストールした場合は/var/lib/postgresql/9.1/main)
データの他、トランザクションログやプロセスIDファイル等が格納されます。
(参考) http://www.postgresql.jp/document/9.1/html/storage-file-layout.html
データベースクラスタはデータベースインスタンスと1対1の関係になります。
1つのデータベースクラスタを複数のデータベースインスタンスで共有するような使い方はできません。
設定ファイル(apt-getでインストールした場合は/etc/postgresql/9.1/main配下に配置される)
ファイル名|説明
------------------- --------------------------------------------------------------------------------------------
postgresql.conf|共有メモリのサイズやログファイルの出力先などデータベースクラスタの設定を行う
pg_hba.conf|PostgreSQLサーバへの接続を行う際の認証ルールの設定を行う
pg_ident.conf|認証方式identに関する設定を行う
pgAdmin III (GUIツール)
PosgreSQLサーバに接続し、様々な操作をGUIから行えるpgAdmin IIIというツールがあります。
http://www.pgadmin.org/
Ubuntuの場合はUbuntuソフトウェアセンターからインストールすることが可能です。
(但し、少々バージョンが古いようです。)
Windowsであれば上記URLのDownloadから直接インストーラをダウンロードすることができます。
GUIツールを使用すれば直感的に操作でき大変便利なのですが、本連載ではコマンドラインでの操作を基本としていきます。
あとがき
PostgreSQLには様々なプラットフォーム向けにパッケージが用意されており、多くのプラットフォームで利用できます。またパッケージを使わずに、ソースコードから自分でビルドすることも可能です。
今回は、Ubuntu上でapt-getによりインストールする方法を説明しました。他のプラットフォーム向けのパッケージについては、PostgreSQLのグローバル開発グループの公式サイトに情報があります。
CentOSなどのRedHat系Linux上でrpmによりインストールする方法については、『オープンソースデータベース標準教科書』で解説していますので参照してください。
以降は上記でインストールした環境をベースとして連載していきます。
執筆:
市脇 康二 氏(OSS-DB Gold認定者)株式会社オークニージオソリューション事業部 マネージャー
PostGISを含めたFOSS4G(Free Open Source Software for Geospatial)ソフトウェアを活用し、地図やGPS等の位置情報を組み合わせたアプリケーションやサービスの設計・開発に従事。
サービスプラットフォームがクラウドへ、利用シーンがモバイルへと広がりを見せる中、位置情報の更なる活用シーンを模索中。
アドバイザー:
森 亮 氏 株式会社オークニー代表取締役
2002年にオークニーを設立し、代表取締役に就任。マッピング・ GIS・LBS・ITS関連プロジェクトのビジネスコンサルティングを経て、現在は会社経営の傍ら、『入門Webマッピング』(Tyler Mitchell原著;オライリー・ジャパン発行)の翻訳、Open Source Geospatial財団日本支部の代表者を務めるなど、FOSS4G(オープンソース地理空間ソフトウェア)の普及活動に取り組んでいる。
監修:
松田 神一
© EDUCO All Rights Reserved.