ファーストサーバでPostgreSQLを利用可能にする | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

以前に書いた「レンタルサーバーのファーストサーバ設定あれこれ 」の続き。


Webの設定に引き続き、RDBMSとしてPostgreSQLを利用できるようにしてみます。

ファーストサーバ では、DBとしてMySQLが利用可能になっていますが、あまり触れたことが無いため、慣れているPostgreSQLをインストールしたいと思います。


ファーストサーバのVPS環境では、root権限が与えられているため、かなり自由度の高いサーバー管理が可能になっています。

サーバー(CentOS)上のS/Wは、Parallels Power Panel(仮想化ソフトウェア)上にてパッケージの管理が行えますが、パッケージの管理画面からPostgreSQLを検索してみてもヒットしないため、Paralles Power Panelを通してPostgreSQLを利用可能にすることはできないようです。


という事で、回避策としてyumコマンドをインストールして、yumを通してPostgreSQLをインストールします。


注)

ファーストサーバでは基本、このPLESKコンソール画面を通してサーバーを操作することを推奨しており、端末を使って接続し、サーバーを操作する場合は自己責任でということになっているようです。

もちろん、このブログ記事で書かれていることも、実際にやる場合は同様に自己責任でお願いします。



1. ファーストサーバ上でyumコマンドを利用可能にする


まず、仮想化ソフトウェアの管理用システム(Parallels Power Panel)にログインし、左メニューの「パッケージ」を

開きます。


Plesk-yum1

次に、「新しいパッケージのインストール」ボタンをクリックします。


Plesk-yum2


そして、「名前」の入力欄に「yum」と入力して検索し、結果の一覧に表示されるyumパッケージの横にあるチェック

ボックスをクリックし、「インストール」ボタンでインストールを実行します。


Plesk-yum3



これで、yumコマンドがインストールされ利用可能になりました。

実際にインストールされているかどうかは、SSHで接続してみて


# which yum
/usr/bin/yum 

とでも入力すればわかります。



2. yumを通してPostgreSQLをインストールする


後は、yumコマンドを通してPostgreSQLをインストールするだけです。


まずは、利用可能なバージョンを調べて見ます。


# yum info postgresql
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* base: ftp.jaist.ac.jp
* updates: ftp.jaist.ac.jp
* addons: ftp.jaist.ac.jp
* extras: ftp.jaist.ac.jp
base 100% |=========================| 1.1 kB 00:00
updates 100% |=========================| 951 B 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Available Packages
Name : postgresql
Arch : i386
Version: 8.1.11
Release: 1.el5_1.1
Size : 2.9 M
Repo : base
Summary: PostgreSQL client programs and libraries.

PostgreSQL8.1.11が利用可能なようです。


では、いよいよyumを通してPostgreSQLをインストールしますが、その前にGPGキーをインポートしておきます。


# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

これで準備が整いましたので、PostgreSQlをインストールします。


# yum install postgresql-server

※ yumコマンドの詳しい利用方法は「yumによるRPMパッケージの更新管理 」を参照してください。



3. PostgreSQLの環境設定


PostgreSQLのインストール完了後は必要な環境設定とDBの作成を行います。



3.1 postgresユーザーの作成


PostgreSQLの管理用として、postgresユーザーを作成します。


# useradd -m -d /home/postgres -s /bin/bash postgres

※ 管理用ユーザー名は何でも指定可能です。ここでは習慣的なpostgresユーザーとしています。


次に、ユーザーの環境設定を行います。

適当なエディタで、postgresユーザーのホームディレクトリ内にある「.bash_profile」ファイルを開き、下記を追加しておきます。


export POSTGRES_HOME=/var/lib/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGLIB

追加後は、上記環境設定を有効にするため環境ファイルを再読み込みさせます。


$ source .bash_profile


3.2 DBの初期化


PostgreSQLのDBを初期化するため、下記コマンドをpostgresユーザーで実行します。


$ initdb --local=ja_JP.UTF-8 -E UTF-8


3.3 PostgreSQLデーモンの起動


DBの初期化が終わったらデーモンの起動を行います。


$ pg_ctl start

実際に動いているか、確認してみます。


$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(3 rows)

動いているようですね。

後は、好きなDBをcreatedbコマンドで作って使用することができます。


例)

$ createdb testdb
CREATE DATABASE

$ psql testdb
Welcome to psql 8.1.11, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
testdb=#