PostgreSQLのインストール

●事前準備

# yum -y install readline-devel
# yum -y install zlib-devel
# yum -y install openssl-devel

●インストール

# groupadd -g 26 postgres
# useradd -u 26 postgres -g postgres -d /usr/local/pgsql
# cd /tmp
# wget ftp://ftp2.jp.postgresql.org/pub/postgresql/source/v8.3.7/postgresql-8.3.7.tar.gz
# tar zxvf postgresql-8.3.7.tar.gz
# chown -R postgres. postgresql-8.3.7
# su - postgres
$ cd /tmp/postgresql-8.3.7
$ ./configure --enable-nls=ja --with-openssl
$ make
$ make chack
$ make install-strip
$ exit

●設定

# mkdir -p /data/db/pgsql
# chown -R postgres. /data/db/pgsql
# vi /etc/profile

 :
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
export PG_HOME=/usr/local/pgsql ←追加
 :

# source /etc/profile
# su - postgres

# cp /tmp/postgresql-8.3.7/contrib/start-scripts/linux /etc/rc.d/init.d/pgsql
# vi /etc/rc.d/init.d/pgsql

 :
## EDIT FROM HERE
# Source function library. ←追加
. /etc/init.d/functions ←追加
 :
PGDATA="/usr/local/pgsql/data"
 ↓
PGDATA="/data/db/pgsql" ←変更
 :
start)
echo -n "Starting PostgreSQL: "
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
# echo "ok" ←コメントアウト
echo_success ←追加
echo ←追加
;;
stop)
echo -n "Stopping PostgreSQL: "
# su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast"
su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast" >/dev/null
# echo "ok" ←コメントアウト
echo_success ←追加
echo ←追加
;;
restart)
echo -n "Restarting PostgreSQL: "
# su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w"
su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w" >/dev/null
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
# echo "ok" ←コメントアウト
echo_success ←追加
echo ←追加
;;
reload)
echo -n "Reload PostgreSQL: "
su - $PGUSER -c "$PGCTL reload -D '$PGDATA' -s"
# echo "ok" ←コメントアウト
echo_success ←追加
echo ←追加
;;
  :

# chmod 755 /etc/rc.d/init.d/pgsql

--- 以下、Heartbeat管理のスタンバイの場合はしない ---

# su - postgres
$ initdb -D /data/db/pgsql -E UTF8 --no-locale
$ exit

# chkconfig pgsql on ※Heartbeat管理の場合はしない
# /etc/rc.d/init.d/pgsql start

# su - postgres
$ psql
postgres=# ALTER USER postgres WITH PASSWORD '********';
postgres=# \q
$ exit
# vi /data/db/pgsql/pg_hba.conf

 :
# "local" is for Unix domain socket connections only
#local all all trust ←コメントアウト
local all postgres md5 ←追加
# IPv4 local connections:
#host all all 127.0.0.1/32 trust ←コメントアウト
host all postgres 127.0.0.1/32 md5 ←追加
# IPv6 local connections:
#host all all ::1/128 trust ←コメントアウト
host all postgres ::1/128 md5 ←追加
 :