データベースサーバ(Linux仮想 - database)のセットアップ
[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