PostgreSQL9.2のインストール

CentOS6.4にPostgreSQL9.2をインストールしてみたいと思います。PostgereSQLはyumコマンドで簡単にインストールすることが出来ますが、バージョンが古い可能性があります。そこで、最新のバージョンをインストールする方法を調べてみたいと思います。

必要パッケージのインストール

PostgreSQL9.2を導入するのに必要なパッケージを先にインストールします。

  1. rootユーザーに切り替えます。
    [nakada@centos~]$ su -
     Password:
  2. gcc-c++、GNU make、readline-devel、zlib-develの4つのパッケージをyumコマンドでインストールします。
    [root@centos~]# yum install -y gcc-c++
     [root@centos~]# yum install -y make
     [root@centos~]# yum install -y readline-devel
     [root@centos~]# yum install -y zlib-devel

ソースファイルのダウンロード

  1. 下記のサイトのダウンロードリンクから、一番下のsource項目のリンクをクリックします。
  2. http://www.postgresql.jp/download
    centos019
  3. ずらーっとバージョンごとに区分けされていますので、下から3番目のv9.2.4のリンク文字をクリックします。
    centos020
  4. postgresql-9.2.4.tar.gzをクリックして、ダウンロードします。
    centos021
  5. ダウンロードしたpostgresql-9.2.4.tar.gzファイルを適当なディレクトリにWinSCPを使ってコピーします。ここでは、/home/nakadaディレクトリにコピーすることにします。

パッケージソースの展開

  1. コピーしたディレクトリまで移動します。
    [root@centos~]# cd /home/nakada
  2. パッケージを展開します。
    [root@centos nakada]# tar zxvf /home/nakada/postgresql-9.2.4.tar.gz
  3. 展開が完了すると、/home/nakadaディレクトリにpostgresql-9.2.4ディレクトリが作成されています。

パッケージのコンパイル

  1. postgresql-9.2.4ディレクトリに移動します。
    [root@centos nakada]# cd postgresql-9.2.4
    [root@centos postgresql-9.2.4]#
  2. インストールするサーバー環境による構成行います。
    [root@centos postgresql-9.2.4]# ./configure
  3. サーバー上に不足しているパッケージなどがあると、ここで構成エラーが発生しますので、不足しているパッケージを追加インストールします。
  4. 次に、GNU makeコマンドでパッケージをコンパイルします。
    [root@centos postgresql-9.2.4]# gmake
  5. コンパイルが完了したら、インストールを行う前に、PostgreSQLが正常に動作するかどうかを検証するためにリグレッションテストを行います。
  6. リグレッションテストはrootユーザでは出来ませんので、一般ユーザーに切り替えてテストを行います。
    [root@centos postgresql-9.2.4]# su nakada
     [nakada@centos postgesql-9.2.4]$ gmake check
  7. 「All 131 tests passed.」と表示されたらテストOKです。
    centos022

パッケージのインストール

  1. テストが完了したら、rootユーザーに切り替えて、インストールを行います。
    [nakada@centos postgresql-9.2.4]$ exit
     exit
     [root@centos postgresql-9.2.4]# gmake install
  2. 「PostgreSQL installation complete.」を表示されたらインストール完了です。
  3. インストールが完了したら、パッケージのコンパイルで生成されたオブジェクトファイルを削除します。
    [root@centos postgresql-9.2.4]# gmake clean

データベース管理ユーザーの作成

  1. PostgreSQLデータベースの管理ユーザー「postgres」を作成し、パスワードも設定します。
    [root@centos postgresql-9.2.4]# useradd postgres
     [root@centos postgresql-9.2.4]# passwd postgres
  2. 作成したpostgresユーザーの環境変数に、PostgreSQLコマンドまでのパスを通します。
  3. viコマンドで、「.bash_profile」を開き、PATH変数を編集します。
    [root@centos postgresql-9.2.4]# cd /home/postgres
     [root@centos postgres]# vi .bash_profile
  4. PATH=$PATH:$HOME/binの後に:/usr/local/pgsql/binを追加します。
    centos024
  5. 編集が完了したら、保存した容を反映します。
    [root@centos postgres]# source .bash_profile

データベースクラスターの初期化

  1. データベース格納先のディレクトリを作成し、「postgres」ユーザーをディレクトリオーナーに指定します。
    [root@centos postgres]# mkdir -p /var/pgsql/data
     [root@centos postgres]# chown -R postgres:postgres /var/pgsql
  2. 次に、「postgres」ユーザーに切り替えて、データベースクラスターを初期化します。
    [root@centos postgres]# su - postgres
     [postgres@centos~]$ initdb --encoding=utf8 --locale=C -D /var/pgsql/data

PostgreSQLの起動と起動確認

  1. PostgreSQLを起動します。
    [postgres@centos~]$ pg_ctl -D /var/pgsql/data -l logfile start
     server starting
  2. 正常に起動できたら、確認用のデータベースを作成し、接続確認をします。
    [postgres@centos~]$ createdb test
     [postgres@centos~]$ psql test

    centos025

  3. 正常に接続できたら、データベース一覧コマンド(\l)を実行して、正常に作成されているかどうかを確認します。確認できたら狩猟します。(\q)
    centos026

PostgreSQLサーバーの自動起動の設定

  1. rootユーザーに切り替えます。
    [postgres@centos ~]$ su - root
    Password:
  2. PostgreSQLの自動起動スクリプトテンプレートを使って自動起動できるように設定します。
  3. 一番最初にPostgreSQLのパッケージソースをコピーしたディレクトリまで移動します。ここでは、/home/nakadaディレクトリにコピーしました。
    [root@centos~]# cd /home/nakada/postgresql-9.2.4
    [root@centos postgresql-9.2.4]#
  4. PostgreSQLのパッケージソースのcontrib/start-scriptsディレクトリへ移動します。
    [root@centos postgresql-9.2.4]# cd contrib/start-scripts
    [root@centos start-scritps]#
  5. その中のlinuxファイルを/etc/init.d/postgresqlへコピーします。
    [root@centos start-scripts]# cp linux /etc/init.d/postgresql
  6. パーミッションを755に変更します。
    [root@centos start-scripts]# chmod 755 /etc/init.d/posgresql
  7. コピーした自動起動スクリプトを編集します。
    [root@centos start-scritps]# vi /etc/init.d/postgresql
  8. 下記の35行目を
    PGDATA="/usr/local/pgsql/data"
  9. 下記のように修正します。
    PGDATA="var/pgsql/data"

    centos027

  10. 編集が完了したら、自動起動スクリプトを登録します。
    [root@centos start-scripts]# chkconfig --add postgresql
    [root@centos start-scripts]# chkconfig --list | grep postgresql
    postgresql    0:off  1:off  2:on  3:on  4:on  5:on  6:off

以上でPostgreSQLのインストール及び自動起動の設定は完了です。

次回は、「CentOS6.4にApahe2.4.6をインストール」してみたいと思います。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

このページの先頭へ