Postgresql インストール

【この記事の所要時間 : 約 7 分

以下のサイトを参考にPostgresqlのインストールを行ったので、作業手順などのメモを備忘録として残しておく。
Postgresqlインストールの参考サイト
1.RPMですでにPostgresqlがインストールされていないかをチェック
# rpm -qa | grep postgres
インストールされていなかったので、削除せずに次へ。
2.postgresユーザーを作成
→セキュリティを高めるため、rootではなく、postgresでインストールと起動を行うためにユーザーを作成する。
# adduser postgres
# passwd postgres
 (このあと2回パスワードを入力する)
3.ソース展開用またはインストール用ディレクトリ作成
# mkdir /usr/local/src/postgresql-8.1.2
# chown postgres:postgres /usr/local/src/postgresql-8.1.2
# mkdir /usr/local/pgsql
# chown postgres:postgres /usr/local/pgsql

4.Postgresqlのダウンロード
Postgresql本家から必要なバージョンのファイルをダウンロード。
/usr/local/src に置いておく。
今回ダウンロードしたのは、バージョン8.1.2
5.Postgresが解凍できるようにパーミッションを変更
# cd /usr/local/src
# chmod 755 postgresql-8.1.2.tar.gz

6.rootからpostgresユーザーに切り変え、解凍する。
# su – postgres
$ cd /usr/local/src
$ tar xzvf postgresql-8.1.2.tar.gz

7.Makefile作成
$ cd postgresql-8.1.2
$ ./configure

ここで、「configure: error: readline library not found」というエラーが発生。
readlineライブラリがインストールされていないのが原因だった。
8.readlineライブラリのインストール
→これは、postgreユーザーではなく、rootでインストールを行う。
# cd /usr/local/src
# wget ftp://ftp.gnu.org/gnu/readline/readline-5.1.tar.gz
# tar zxvf readline-5.1.tar.gz
# cd readline-5.1
# ./configure

ここで、以下のようなエラーが発生。
checking test program… failed
configure: error:
*** Could not execute a simple test program. This may be a problem
*** related to locating shared libraries. Check the file ‘config.log’
*** for the exact reason.

config.logをチェックしろということだったので、見てみると・・・
# less ./config.log
./conftest: error while loading shared libraries: libreadline.so.5:cannot open shared object file: No such file or directory
というエラーが発生していた。
google先生に聞くと、環境変数にLD_LIBRARY_PATHの設定をしたら解決できるとのことだったので、以下のように設定してから再度configureすると今度はエラーが出なかったので、そのままインストールを続ける。
# export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH”:/usr/local/lib
# ./configure
# make
# make install
# ldconfig

参考サイト
参考サイト
9.再度、PostgresqlのMakefile作成
# su – postgres
$ cd postgresql-8.1.2
$ ./configure
$ make all
$ make check
$ make install

とすると、「 PostgreSQL installation complete.」と出たのでうまくいったみたい。
10.環境設定
$ cd /home/postgres
$ vi .bashrc

として以下を追記する。
PATH=”$PATH”:/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH=”$MANPATH”:$POSTGRES_HOME/man
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH”:$PGLIB:/usr/local/lib

$ source ~/.bashrc で環境設定を反映させて、
$ printenv で設定が反映されているかを確認。
11.データベースの初期化
$ initdb –encoding=EUC_JP –no-locale
12.設定ファイルの修正
まずは、/usr/local/pgsql/data/postgresql.conf を以下のように修正
log_destination = ‘syslog’
log_statement = ‘all’
listen_addresses = ‘*’

次に、/usr/local/pgsql/data/pg_hba.conf を以下のように修正
host all all 192.168.0.0/24 trust
参考サイト
syslogの設定なども上記サイトのように修正。
13.Postgresqlの起動
$ pg_ctl -w start
14.Postgresqlの起動確認
$ ps ax | grep postgres
15.Postgresqlの停止
$ pg_ctl stop
16.サーバマシンが起動する時に自動的にPostgreSQLが起動する設定にする。
→これは、postgresユーザーではなく、rootで行う。
# cd /etc/rc.d/init.d/
# cp -p /usr/local/src/postgresql-8.1.2/contrib/start-scripts/linux postgresql
# chown root.root postgresql
# chmod 755 postgresql
# chkconfig –level 2345 postgresql on

以下、参考までに。
http://canalize.jp/archives/008035.php

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)
勝俣 智成 佐伯 昌樹 原田 登志
技術評論社
売り上げランキング: 50,230
スポンサーリンク
レクタングル(大)広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
レクタングル(大)広告

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です