설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


총 게시물 162건, 최근 0 건
   

디비랑-5) Binary설치 후 서비스 등록 스크립트

글쓴이 : 디비랑 날짜 : 2014-11-27 (목) 17:23 조회 : 4971

##
## CentOS 6.4, PostgreSQL 9.2.4 community
##

1. 스크립트 생성
    # vi /etc/init.d/postgres

---------------------------------------------------------------
#!/bin/bash
# chkconfig:2345 90 20
 
# Installation prefix
prefix=/home/postgres/pgsql
 
# Data directory
PGDATA="$prefix/data"
 
# Who to run the postmaster as, usually "postgres". (NOT "root")
PGUSER=postgres
 
# Where to keep a log file
PGLOG="$prefix/serverlog"
 
## STOP EDITING HERE
 
# Check for echo -n vs echo \c
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
 
# The path that is to be used for the script
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
# What to use to start up the postmaster (we do NOT use pg_ctl for this,
# as it adds no value and can cause the postmaster to misrecognize a stale
# lock file)
DAEMON="$prefix/bin/postmaster"
 
# What to use to shut down the postmaster
PGCTL="$prefix/bin/pg_ctl"
 
set -e
 
# Only start if we can find the postmaster.
test -x $DAEMON || exit 0


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

exit $?
---------------------------------------------------------------


2. 실행 권한 부여
    # chmod 755 /etc/init.d/postgres


3. 수행
    # service postgres [start | stop | restart | reload] 


소라 2015-08-11 (화) 17:28
감사합니다 ^-^
댓글주소
   

postgresdba.com