PostgreSQL部署

環(huán)境

CentOS 6.6 x_64
postgresql-9.4.4

編譯安裝

tar -jxf postgresql-9.4.4.tar.bz2;cd postgresql-9.4.4
./configure --prefix=/usr/local/pgsql
make  && make install
adduser postgres
mkdir /usr/local/pgsql/data /usr/local/pgsql/data/pg_log
chown postgres:postgres  -R /usr/local/pgsql/data
cp /usr/local/pgsql/bin/* /usr/bin

su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
#/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
exit

echo 'export PGSQL_HOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data
export PATH=$PGSQL_HOME/bin:$PATH
export LD_LIBRARY_PATH=$PGSQL_HOME/lib:$LD_LIBRARY_PATH'>>~/.bash_profile
source ~/.bash_profile

啟動腳本

vi /etc/init.d/pgsql

#! /bin/sh
# chkconfig: 345 85 15
# postgresql    This is the init script for starting up the PostgreSQL server
# description: Starts and stops the PostgreSQL backend daemon that handles all database requests.

PGSQL_HOME=/usr/local/pgsql
PGDATA=/usr/local/pgsql/data
PATH=$PGSQL_HOME/bin:$PATH
LD_LIBRARY_PATH=$PGSQL_HOME/lib:$LD_LIBRARY_PATH
PGUSER=postgres

PGLOG=$PGDATA/pg_log/serverlog.log

DAEMON=$PGSQL_HOME/bin/postmaster

PGCTL=$PGSQL_HOME/bin/pg_ctl

set -e


test -x $DAEMON ||
{
    echo "$DAEMON not found"
    if [ "$1" = "stop" ]
    then exit 0
    else exit 5
    fi
}



case $1 in
  start)
    echo -n "Starting PostgreSQL: "
    test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj
    su - $PGUSER -c "$DAEMON -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"
    test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj
    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 0

chmod +x /etc/init.d/pgsql
chkconfig --add pgsql
service pgsql restart

-EOF-

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容