PostgreSQL自动安装脚本

PostgreSQL自动安装脚本,第1张

概述抽空写了一个postgresql的自动安装部署脚本,方便集群化安装 环境: OS:CentOS 6.3 DB:PostgreSQL 9.3.2 使用步骤: 分两个脚本,一个是执行文件,另一个是初始化脚本,实际只要点击执行文件install_postgres.sh即可。 1.上传这两个文件到/tmp目录下 2.root用户执行sh install_postgres.sh 内容: 1.install_ 抽空写了一个postgresql的自动安装部署脚本,方便集群化安装

环境:
OS:CentOS 6.3
DB:Postgresql 9.3.2

使用步骤:
分两个脚本,一个是执行文件,另一个是初始化脚本,实际只要点击执行文件install_postgres.sh即可。

1.上传这两个文件到/tmp目录下
2.root用户执行sh install_postgres.sh 内容:

1.install_postgres.sh
[root@db tmp]# more install_postgres.sh#!/bin/bash##########################################################  Purpose:Install Postgresql automatically## ##  Author :Kenyon##  ##  Created:2014-02-08## ##  Version:1.0.0#####################################################echo "--------------------Check current OS datetime---------------------"DATE=`date +"%Y-%m-%d %H:%M:%s"`echo "------系统当前时间: $DATE------------------"echo "------确保系统时间不早于实际时间----------"echo "------请输入 Y or N 继续-----------------"read inputif [ "$input" = "N" -o "$input" = "n" ]; thenecho "-------------------Modify OS datetime correctly,exit install!-----"exit 1elif [ "$input" = "Y" -o "$input" = "y" ];thenecho "---------------------start install Postgresql---------------------"yum install -y wget perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmakemkdir -p /database/pgdataecho "---------------------create postgres user if not exist------------"if [ `grep "postgres" /etc/passwd | wc -l` -eq 0 ];thenecho "adding user postgres"/usr/sbin/groupadd postgres/usr/sbin/useradd postgres -g postgresecho "postgres"|passwd --stdin  postgreselseecho "--------------  the user of Postgres is already exist,ignore useradd"ficd /databasechown -R postgres:postgres  ./pgdataecho "---------------------download Postgresql source code----------------"cd /tmpchown postgres:postgres ./initdb_postgres.shchmod u+x ./initdb_postgres.shsu - postgres -c /tmp/initdb_postgres.shelseecho "--------------------输入错误,请输入 Y or N-------------------"exit 1fi


2.initdb_postgres.sh
#!/bin/bash##########################################################  Purpose: Init Postgresql automatically## ##  Author :Kenyon##  ##  Created:2014-02-08## ##  Version:1.0.0#####################################################if [ `whoami` != "postgres" ] ; thenecho "------------------Should be postgres user initdb!!----------------"exit 1elseecgo "-------------------init postgres's environment variables-----------"cat >> ~/.bash_profile << EOFexport PGPORT=1949export PGHOME=/home/postgresexport PGDATA=/database/pgdataexport PATH=$PGHOME/bin:$PATHexport MANPATH=$PGHOME/share/man:$MANPATHexport LANG=en_US.utf8export LD_liBRARY_PATH=$PGHOME/lib:$LD_liBRARY_PATHalias pg_stop='pg_ctl -D $PGDATA stop -m fast'alias pg_start='pg_ctl -D $PGDATA start'alias pg_reload='pg_ctl -D $PGDATA reload'EOFwget http://ftp.postgresql.org/pub/source/v9.3.2/postgresql-9.3.2.tar.gzecho "tar -zxvf postgresql-9.3.2.tar.gz"tar -zxvf postgresql-9.3.2.tar.gzcd postgresql-9.3.2echo "-------------------Configuring Postgresql,please wait---------------"./configure --prefix=/home/postgres --with-pgport=1949 --with-perl --with-python --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt --enable-thread-safetyif [ $? -ne 0 ];thenecho "Configure Postgresql失败,请检查config日志!"exit 1fiecho "-------------------Installing Postgresql,please wait----------------"gmake worldif [ $? -ne 0 ];thenecho "Gmake Postgresql失败,请检查日志!"exit 1figmake install-worldif [ $? -ne 0 ];thenecho "Gmake install Postgresql Failed,请检查日志!"exit 1fiecho "-----------------Initing Database----------------------------------"echo "Tc_Pgsql_ky">/tmp/postgres_pwd.txtinitdb -D /database/pgdata -E UTF8 --locale=C -U postgres --pwfile /tmp/postgres_pwd.txtif [ $? -eq 0 ];then  echo "---------------安装Postgresql成功---"  rm -f /tmp/postgres_pwd.txtelse  echo "--------------安装Postgresql失败,请检查日志------------"  exit 1fifi
其他: 时间关系后期调整一下输入端口选择和密码动态输入 总结

以上是内存溢出为你收集整理的PostgreSQL自动安装脚本全部内容,希望文章能够帮你解决PostgreSQL自动安装脚本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1182863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存