• postgresql9.5 run 文件linux安装后配置成开机服务


    网上出现的比较多安装方法要么是源码安装,要么是yum安装,我发觉都要配置很多属性,比较麻烦,所以现在我在centos7长用 run文件来安装

    http://get.enterprisedb.com/postgresql/postgresql-9.5.1-1-linux-x64.run

    这里的安装shell整理的很零乱,后面会整理一个完整版本的出来

    wget https://pgbouncer.github.io/downloads/files/1.7.2/pgbouncer-1.7.2.tar.gz
    wget http://get.enterprisedb.com/postgresql/postgresql-9.5.1-1-linux-x64.run
    wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
    
    tar zxvf libevent-2.0.22-stable.tar.gz
    cd libevent-2.0.22-stable
    ./configure --prefix=/usr/local/libevent
    make
    make install
    cd ..
    
    tar zxvf pgbouncer-1.7.2.tar.gz
    cd pgbouncer-1.7.2
    ./configure --prefix=/usr/local/pgbouncer/ --with-libevent=/usr/local/libevent/
    make 
    make install
    cd ..
    
    chmod 777 postgresql-9.5.1-1-linux-x64.run
    ./postgresql-9.5.1-1-linux-x64.run
    
    sudo chown -R postgres.postgres /alidata/pgsql
    sudo chown -R postgres.postgres /usr/local/pgbouncer

    #以下为配置环境变量部分,这里还没写好,你可以参考 su - postgres cp .bash_profile /alidata/pgsql cp .bashrc /alidata/pgsql su - postgres export PGHOME=/alidata/pgsql export PATH=$PGHOME/bin:$PATH export PGDATA=$PGHOME/data export LD_LIBRARY_PATH=$PGHOME/lib export LD_LIBRARY_PATH=/usr/local/libevent/lib:$LD_LIBRARY_PATH

      

    用run文件安装就比较简单,但是安装完成后,它会默认安装成linux的系统服务,所以这里需要从源码里面去拷贝

    PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下

    linux文件即为linux系统上的启动脚本

    #chmod a+x linux

    #cp linux /etc/init.d/postgresql

    #修改/etc/init.d/postgresql文件的两个变量

    prefix设置为postgresql的安装路径:/alidata/pgsql

    附此文件,如果你没下载源码,可以直接通过在

    vi postgresql新建一个文件

    把下面这段拷贝进去保存

    拷贝进去放到 /etc/init.d/下

    然后service postgresql status 可以查询对应的操作

    #! /bin/sh
    
    # chkconfig: 2345 98 02
    # description: PostgreSQL RDBMS
    
    # This is an example of a start/stop script for SysV-style init, such
    # as is used on Linux systems.  You should edit some of the variables
    # and maybe the 'echo' commands.
    #
    # Place this file at /etc/init.d/postgresql (or
    # /etc/rc.d/init.d/postgresql) and make symlinks to
    #   /etc/rc.d/rc0.d/K02postgresql
    #   /etc/rc.d/rc1.d/K02postgresql
    #   /etc/rc.d/rc2.d/K02postgresql
    #   /etc/rc.d/rc3.d/S98postgresql
    #   /etc/rc.d/rc4.d/S98postgresql
    #   /etc/rc.d/rc5.d/S98postgresql
    # Or, if you have chkconfig, simply:
    # chkconfig --add postgresql
    #
    # Proper init scripts on Linux systems normally require setting lock
    # and pid files under /var/run as well as reacting to network
    # settings, so you should treat this with care.
    
    # Original author:  Ryan Kirkpatrick <pgsql@rkirkpat.net>
    
    # contrib/start-scripts/linux
    
    ## EDIT FROM HERE
    
    # Installation prefix
    prefix=/alidata/pgsql
    
    # Data directory
    PGDATA="/alidata/data"
    
    # Who to run the postmaster as, usually "postgres".  (NOT "root")
    PGUSER=postgres
    
    # Where to keep a log file
    PGLOG="$PGDATA/serverlog"
    
    # It's often a good idea to protect the postmaster from being killed by the
    # OOM killer (which will tend to preferentially kill the postmaster because
    # of the way it accounts for shared memory).  To do that, uncomment these
    # three lines:
    #PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
    #PG_MASTER_OOM_SCORE_ADJ=-1000
    #PG_CHILD_OOM_SCORE_ADJ=0
    # Older Linux kernels may not have /proc/self/oom_score_adj, but instead
    # /proc/self/oom_adj, which works similarly except for having a different
    # range of scores.  For such a system, uncomment these three lines instead:
    #PG_OOM_ADJUST_FILE=/proc/self/oom_adj
    #PG_MASTER_OOM_SCORE_ADJ=-17
    #PG_CHILD_OOM_SCORE_ADJ=0
    
    ## STOP EDITING HERE
    
    # 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.  (If you want the script to wait
    # until the server has started, you could use "pg_ctl start -w" here.
    # But without -w, pg_ctl adds no value.)
    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 ||
    {
    	echo "$DAEMON not found"
    	if [ "$1" = "stop" ]
    	then exit 0
    	else exit 5
    	fi
    }
    
    # If we want to tell child processes to adjust their OOM scores, set up the
    # necessary environment variables.  Can't just export them through the "su".
    if [ -e "$PG_OOM_ADJUST_FILE" -a -n "$PG_CHILD_OOM_SCORE_ADJ" ]
    then
    	DAEMON_ENV="PG_OOM_ADJUST_FILE=$PG_OOM_ADJUST_FILE PG_OOM_ADJUST_VALUE=$PG_CHILD_OOM_SCORE_ADJ"
    fi
    
    
    # Parse command line parameters.
    case $1 in
      start)
    	echo -n "Starting PostgreSQL: "
    	test -e "$PG_OOM_ADJUST_FILE" && echo "$PG_MASTER_OOM_SCORE_ADJ" > "$PG_OOM_ADJUST_FILE"
    	su - $PGUSER -c "$DAEMON_ENV $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 -e "$PG_OOM_ADJUST_FILE" && echo "$PG_MASTER_OOM_SCORE_ADJ" > "$PG_OOM_ADJUST_FILE"
    	su - $PGUSER -c "$DAEMON_ENV $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
    

    chkconfig --add 服务名称          (首先,添加为系统服务,注意add前面有两个横杠)

    chkconfig --leve 启动级别 服务名 on         

    说明,3级别代表在命令行模式启动,5级别代表在图形界面启动,on表示开启)

     chkconfig --leve 启动级别 服务名 off              

    (说明,off表示关闭自启动)

     例如:chkconfig --level 3 postgresql on                     (说明:让postgresql 服务在命令行模式,随系统启动)

  • 相关阅读:
    初识HTML
    CSS字体
    CSS层叠
    CSS选择器
    DOM一致性检测
    javascript中关于value的一个小知识点(value既是属性也是变量)
    IE浏览器下常见的CSS兼容问题
    haslayout详解
    去除IE6浏览器下获得焦点的元素的虚线框的两个小办法
    引入CSS
  • 原文地址:https://www.cnblogs.com/fangyuan303687320/p/5452430.html
Copyright © 2020-2023  润新知