データベースサーバ(Linux仮想 - database)のセットアップ

PostgreSQL

[root@database ~]# mkdir -p /usr/local/pgsql/data
[root@database ~]# useradd -d /usr/local/pgsql postgres
[root@database ~]# chown -R postgres:postgres /usr/local/pgsql

[root@database ~]# wget ftp://ftp.jp.postgresql.org/source/v8.2.3/postgresql-8.2.3.tar.gz
[root@database ~]# tar zxf postgresql-8.2.3.tar.gz -C /usr/local/src/

[root@database ~]# cd /usr/local/src/postgresql-8.2.0/
[root@database postgresql-8.2.0]# chown -R postgres:postgres /usr/local/src/postgresql-8.2.0
[root@database postgresql-8.2.0]# sudo -u postgres ./configure
[root@database postgresql-8.2.0]# sudo -u postgres make
[root@database postgresql-8.2.0]# sudo -u postgres make install
[root@database postgresql-8.2.0]# cd

[root@database ~]# export POSTGRES_HOME=/usr/local/pgsql
[root@database ~]# export PATH="$PATH":$POSTGRES_HOME/bin
[root@database ~]# export PGLIB=$POSTGRES_HOME/lib
[root@database ~]# export PGDATA=$POSTGRES_HOME/data
[root@database ~]# export MANPATH="$MANPATH":$POSTGRES_HOME/man

[root@database ~]# sudo -u postgres initdb --encoding=UNICODE

[root@database ~]# # 適宜修正
[root@database ~]# mv /usr/local/pgsql/data/postgresql.conf
[root@database ~]# mv /usr/local/pgsql/data/pg_hba.conf

[root@database ~]# chown -R postgres:postgres /usr/local/pgsql

[root@database ~]# echo "/usr/local/pgsql/lib" >> /etc/ld.so.conf
[root@database ~]# /sbin/ldconfig

[root@database ~]# # 下に内容を示します。
[root@database ~]# vi /etc/init.d/postgres
[root@database ~]# chmod 755 /etc/init.d/postgres
[root@database ~]# chkconfig --add postgres
[root@database ~]# chkconfig postgres on
[root@database ~]# /etc/rc.d/init.d/postgres start

[root@database ~]# # DBユーザ&データベース[cepoc]作成
[root@database ~]# sudo -u postgres psql -c "alter user postgres with password '****';" template1
[root@database ~]# sudo -u postgres createuser -SDRE netuser
[root@database ~]# sudo -u postgres createuser -sdrE cepoc
[root@database ~]# sudo -u postgres psql -c "alter user netuser with password '****';" template1
[root@database ~]# sudo -u postgres psql -c "alter user cepoc with password '****';" template1
[root@database ~]# sudo -u postgres createdb --encoding UTF8 --owner cepoc cepoc 

/etc/init.d/postgres

#!/bin/sh
#
# postgres - This script is used to start/stop 
# the postgreSQL.
#
#
# chkconfig: 345 85 15
# description: Starts and stops the PostgreSQL
# processname: postmaster
# 
# Config Variables
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
prefix=/usr/local/pgsql
PGDATA="/usr/local/pgsql/data"
PGUSER=postgres
PGLOG="$PGDATA/serverlog"
DAEMON="$prefix/bin/pg_ctl"

if echo '\c' | grep -s c >/dev/null 2>&1 ; then
    ECHO_N="echo -n"
    ECHO_C=""
else
    ECHO_N="echo"
    ECHO_C='\c'
fi

set -e
test -f $DAEMON || exit 0

case $1 in
  start)
        $ECHO_N "Starting PostgreSQL: "$ECHO_C
        su - $PGUSER -c "$DAEMON start -D '$PGDATA' -s -l $PGLOG"
        echo "ok"
        ;;
  stop)
        echo -n "Stopping PostgreSQL: "
        su - $PGUSER -c "$DAEMON stop -D '$PGDATA' -s -m fast"
        echo "ok"
        ;;
  restart)
        echo -n "Restarting PostgreSQL: "
        su - $PGUSER -c "$DAEMON restart -D '$PGDATA' -s -m fast -l $PGLOG"
        echo "ok"
        ;;
  reload)
        echo -n "Reload PostgreSQL: "
        su - $PGUSER -c "$DAEMON reload -D '$PGDATA' -s"
        echo "ok"
        ;;
  status)
        su - $PGUSER -c "$DAEMON status -D '$PGDATA'"
        ;;
  *)
        # Print help
        echo "Usage: $0 {start|stop|restart|reload|status}" 1>&2
        exit 1
        ;;
esac

exit 0