#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH host='http://nb.cyyun.com:18104' # Check if user is root if [ $(id -u) != "0" ]; then echo "Error: You must be root to run this script." exit 1 fi echo "You can find the postgresql version from http://nb.cyyun.com:18104/software/PostgreSQL/." read -p "Please input the postgresql version that you want to install(eg:9.3.5):" version if [ "$version" = "" ];then echo "You must input postgresql version." exit 1 fi echo "============================install dependency==================================" sleep 5 issue=$(cat /etc/issue |awk '{print $2}' |awk -F "." '{print $1$2$3}') if [ -s dependency_12.04.2.tar.gz ];then if [ "$issue" -eq "12042" ];then echo "Ok,start to install dependency." tar zxvf dependency_12.04.2.tar.gz cd dependency dpkg -i *.deb cd ../ else apt-get update apt-get autoremove -y apt-get install -y build-essential gcc g++ make zlibc zlib1g zlib1g-dev fi else apt-get update apt-get autoremove -y apt-get install -y build-essential gcc g++ make zlibc zlib1g zlib1g-dev fi apt-get install -y libreadline-dev language-pack-zh-hans mv /etc/default/locale /etc/default/locale.bak echo "LANG=\"en_US.UTF-8\"" >/etc/default/locale echo "LANGUAGE=\"en_US:en\"" >>/etc/default/locale cur_dir=$(pwd) cd $cur_dir echo "============================check files==================================" sleep 5 if [ "$version" = "9.3.5" ];then if [ -s postgresql-9.3.5.tar.gz ]; then echo "postgresql-9.3.5 [found]" else wget -c $host/software/PostgreSQL/postgresql-9.3.5.tar.gz fi elif [ "$version" = "9.2.9" ];then if [ -s postgresql-9.2.9.tar.gz ]; then echo "postgresql-9.2.9 [found]" else wget -c $host/software/PostgreSQL/postgresql-9.2.9.tar.gz fi else echo "Please input the valid postgresql version." exit 1 fi echo "============================postgresql install=================================" sleep 5 cd $cur_dir PGHOME=/opt/PostgreSQL/`echo $version |awk -F "." '{print $1$2}'` PGPATH=$PGHOME/bin PGDATA=/data/pgsql tar zxvf postgresql-$version.tar.gz cd postgresql-$version ./configure --prefix=$PGHOME make make install groupadd postgres useradd -s /bin/bash -g postgres postgres mkdir -p /home/postgres chown postgres:postgres /home/postgres mkdir -p $PGDATA chown -R postgres.postgres $PGDATA chmod -R go-rwx $PGDATA cat >>/etc/profile<