データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は「PostgreSQLをソースファイルからインストールする手順」を解説します。
「PostgreSQL」(オープンソースデータベース管理システム)をインストールする手段には、ソースファイルを使用する方法とRPMパッケージを使用する方法などがあります。アシストでは、PostgreSQLをLinux環境へインストールする場合、以下の理由からソースファイルを使用するインストール方法を推奨しています。
(※バージョン9.0以降では、RPMパッケージからPostgreSQLをインストールする方法でも複数バージョンを同居させることが可能です)
今回は一例として、「Oracle Enterprise Linux 5.6 64bit」の環境へPostgreSQL 9.4.0をソースファイルからインストールする手順と、インストール時の注意事項を紹介します。
PostgreSQL 9.4.0をソースファイルからをインストールする大まかな手順は以下の通りです。
まず、PostgreSQLをインストールするユーザーを作成します。
検証環境などでは、複数バージョンのPostgreSQLをインストールして評価するシーンは多いと思います。バージョンごとにOSユーザーを作成しておくと、その後の管理が容易になります。
# useradd -m -d /home/p940 p940 # passwd p940 # su - p940
ここでは、PostgreSQL 9.4.0をインストールするユーザー「p940」を作成しました。以降の手順も、「p940」ユーザーで実行します。
PostgreSQLのソースファイルは、「PostgreSQL Global Development Group」のWebサイトからダウンロードできます。ここにはさまざまなバージョンと圧縮形式のダウンロードモジュールが存在します。どの圧縮形式のダウンロードモジュールも原則として中身は同じですが、今回は「postgresql-9.4.0.tar.gz」を使います。なお、社内LAN環境でwgetコマンドを使用する際は、事前に/etc/wgetrc内でhttp_proxy、https_proxy、ftp_proxyなどの設定が必要な場合があります。
-- ソースファイルをダウンロードするディレクトリを任意の名前で作成 $ mkdir sources -- sources ディレクトリ配下にpostgresql-9.4.0.tar.gz をダウンロード $ cd sources $ wget https://ftp.postgresql.org/pub/source/v9.4.0/postgresql-9.4.0.tar.gz
なお、2016年11月現在、PostgreSQLの最新バージョンは「v9.6.1」で、バージョンアップが進んでいます。最新バージョンを望む場合には、バージョン名やURL表記を適宜置き換えて読み進めてください。
configureスクリプト内の各オプションで、インストールするディレクトリやインストール対象などを指定します。
以下に、全ファイルのインストール場所を指定する「--prefix」オプションや、OpenSSLパッケージを使用したSSL接続のサポートを有効にする「--with-openssl」オプションなどを指定して実行する例を示します。
-- postgresql-9.4.0.tar.gzを展開 $ tar xvf postgresql-9.4.0.tar.gz -- ソースファイルの展開ディレクトリに移動 $ cd postgresql-9.4.0 -- 各種オプションを指定してconfigureスクリプトを実行 $ ./configure --prefix=/home/p940/posgrehome --enable-debug --with-openssl --with-pgport=1940 --enable-nls=UTF_JP --with-libxml
なお、ここで指定しなかった機能をインストール後に使う場合には、PostgreSQLの再インストールが必要になるので注意してください。この他のオプションについては、以下のドキュメントを参照してください。
(参考ドキュメント)第15章-4 ソースコードからインストール(postgresql.org)
前述したように、オプションはconfigureスクリプトでの指定が必要です。
例えば、クライアントとPostgreSQL間でセキュアなSSL接続を必須とする場合には、configureスクリプト実行時に--with-opensslオプションを指定します。逆に、指定しなければSSL接続での運用はできません(再インストールが必要になります)。その他にも、OSのリソース情報や統計情報をスナップショットとして取得するためのツールである「pg_statsinfo」を利用するならば、--with-libxmlオプションを指定します。
configureスクリプト実行時には、必要なライブラリのチェックも実行されます。そのときに、必要なライブラリが存在しなかった場合に、以下のようなエラーメッセージが表示されます。
configure: error: readline library not found If you have readline already installed, see config.log for details on the failure. It is possible the compiler isn't looking in the proper directory. Use --without-readline to disable readline support.
エラーメッセージは、必要なライブラリがシステムに足りていない場合に表示されます。この場合は、必要なライブラリをyumコマンドなどでインストールした上で、再度configureスクリプトを実行します。例えば上記のエラーメッセージでは「redlineライブラリが存在しません」とあるので、以下のようにredlineライブラリをインストールします。
$ su - # yum install readline # yum install readline-devel
Copyright © ITmedia, Inc. All Rights Reserved.