PREPARATION
受験対策

OSS-DB入門

第1回 PostgreSQLのインストール

この連載について

月に一度のペースで「OSS-DB入門」を連載していきます。

商用DBではOracle、SQL Server、DB2が有名でシェアもほぼこの3つで占めていますが、OSS-DBとしてはMySQLとシェアを2分しているのが、本連載で取り扱うPostgreSQLです。

本連載で想定している読者のスキルは以下の通りです。

RDBMS製品に触れたことがある

基本的なSQLについて知っている

また、以降の連載で使用していくOSやPostgreSQLのバージョンは以下の通りです。

Ubuntu 11.10

PostgreSQL 9.1.x (xはマイナーバージョンなので、その時点での最新版を使用することをお奨めします)

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

インストール

1. Dashホームから端末を起動
2. apt-getコマンドでPostgreSQLをインストール
$ sudo apt-get install postgresql
と入力しインストールを行います。

3. postgresユーザのパスワードを設定
PostgreSQLのインストールが完了すると、管理ユーザとしてpostgresが追加されています。
パスワードが設定されていないので以下のコマンドで任意のパスワードを設定します。

$ sudo passwd postgres

4. psqlコマンドでPostgreSQLサーバへ接続
管理ユーザpostgresにsuし、psqlコマンドでPostgreSQLサーバへ接続を行います。

管理ユーザにsuする。パスワードの入力を求められるので先ほど設定したパスワードを入力すること。
$ su postgres

psqlコマンドでPostgreSQLサーバへ接続する。
$ psql

PostgreSQLのバージョン(ここでは9.1.3)が表示され、「postgres=#」というプロンプトが表示されればインストールは成功です。
psqlのプロンプト上で\qと入力してEnterキーを押下すれば終了することができます。

データベースクラスタ(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(オープンソース地理空間ソフトウェア)の普及活動に取り組んでいる。

監修:
松田 神一

LPI-Japan
Platinum Sponsors

関連資格