- # Postgresql 9.6.1 for CentOS 6.8 优化编译安装
- #作者:老农民
- #QQ: 46715422
- #Email: flyingercn@wo.cn
- #微信: ericliu_77
- # 此处借用了之前德哥的编译建议,另外关于参数设置等,请自行参考德哥的建议,这里将使用最新gcc 和 python2.7,至于本脚本编译安装过程,就不注释了,基础知识自行恶补吧。
- # 安装 GCC6.3 最新版
- yum -y install glibc-devel.i686 glibc-devel ncurses ncurses-devel zlib-devel bzip2-devel openssl-devel readline-devel sqlite-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel texinfo bison flex
- tar xf gcc-6.3.0.tar.bz2
- cd gcc-6.3.0/
- ./contrib/download_prerequisites
- mkdir gcc-build-6.3.0
- cd gcc-build-6.3.0
- ../configure --prefix=/usr/local/gcc6 --enable-checking=release --enable-languages=c,c++ --enable-threads=posix --disable-multilib --disable-libunwind-exceptions --enable-bootstrap --with-system-zlib --with-arch=i686 --build=i686-redhat-linux
- make -j8
- make install
- cd ../../
- echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf
- echo "/usr/local/gcc6/lib" > /etc/ld.so.conf.d/gcc6.conf
- /sbin/ldconfig
- # 安装 Python 2.7.13 最新版
- yum -y install zlib-devel bzip2-devel openssl-devel readline-devel ncurses-devel sqlite-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
- xz -d Python-2.7.13.tar.xz
- tar xf Python-2.7.13.tar
- cd Python-2.7.13/
- export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/gcc6/lib:/usr/local/python27/lib:/lib:/usr/lib:/lib64:/usr/lib64:/usr/local/lib64:$LD_LIBRARY_PATH
- export PATH=/usr/local/bin:/usr/local/gcc6/bin:/usr/local/python27/bin:$PATH:.
- CC="/usr/local/gcc6/bin/gcc" ./configure --prefix=/usr/local/python27 --enable-shared
- CC="/usr/local/gcc6/bin/gcc" make -j `grep processor /proc/cpuinfo | wc -l`
- CC="/usr/local/gcc6/bin/gcc" make install
- cd ../
- vi ~/env.sh
- alias cc=/usr/local/gcc6/bin/gcc
- alias gcc=/usr/local/gcc6/bin/gcc
- alias c++=/usr/local/gcc6/bin/c++
- alias g++=/usr/local/gcc6/bin/g++
- alias cpp=/usr/local/gcc6/bin/cpp
- export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/gcc6/lib:/usr/local/python27/lib:/lib:/usr/lib:/lib64:/usr/lib64:/usr/local/lib64:$LD_LIBRARY_PATH
- export PATH=/usr/local/bin:/usr/local/gcc6/bin:/usr/local/python27/bin:$PATH:.
- echo "/usr/local/python27/lib" > /etc/ld.so.conf.d/python27.conf
- /sbin/ldconfig
- # 安装Postgresql 9.6.1
- #添加可能需要个包
- yum -y install autoconf libjpeg libjpeg-devel libpng libpng-devel libtool-ltdl libtool-ltdl-devel
- yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
- yum -y install bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel
- yum -y install libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers openldap-devel
- yum -y install libtiff libtiff-devel gettext gettext-devel libc-client libc-client-devel readline readline-devel pam pam-devel perl-ExtUtils-Embed uuid uuid-devel tcl-devel
- yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-devel zlib-devel openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl-devel perl-ExtUtils* openldap-devel
- # 使用最新环境编译
- . ~/env.sh
- #创建Postgresql用户和组
- /usr/sbin/groupadd postgres
- /usr/sbin/useradd -r -g postgres -s /bin/false -M postgres
- mkdir /home/postgres
- mkdir -p /home/postgresdata
- chmod +w /home/postgresdata
- chown -R postgres:postgres /home/postgresdata
- tar xf postgresql-9.6.1.tar.bz2
- cd postgresql-9.6.1/
- export USE_NAMED_POSIX_SEMAPHORES=1
- LIBS=-lpthread CC="/usr/local/gcc6/bin/gcc" CFLAGS="-O3 -flto" ./configure --prefix=/home/pgsql --enable-nls="zh_CN zh_TW" --with-perl --with-python --with-tcl --with-uuid=ossp --with-gssapi --with-pam --with-ldap --with-openssl --with-libxml --enable-thread-safety --with-zlib --without-selinux --with-readline --with-pgport=5432
- LIBS=-lpthread CC="/usr/local/gcc6/bin/gcc" CFLAGS="-O3 -flto" make world -j `grep processor /proc/cpuinfo | wc -l`
- LIBS=-lpthread CC="/usr/local/gcc6/bin/gcc" CFLAGS="-O3 -flto" make install-world
- cd contrib/
- LIBS=-lpthread CC="/usr/local/gcc6/bin/gcc" CFLAGS="-O3 -flto" make install clean
- cd ../
- cp -r contrib/ /home/pgsql/contrib
- ln -s /home/postgresdata /home/pgsql/data
- chown -R postgres:postgres /home/pgsql/data
- chown -R postgres:postgres /home/postgres
- su -l postgres -s /bin/bash -c "/home/pgsql/bin/initdb --locale=C -E UTF8 -D /home/pgsql/data/"
- sed -i "s#\#listen_addresses = 'localhost'#listen_addresses = '*'#" /home/pgsql/data/postgresql.conf
- sed -i 's#\#port = 5432#port = 5432#' /home/pgsql/data/postgresql.conf
- cp contrib/start-scripts/linux /home/pgsql/bin/postgresql
- ln -s /home/pgsql/lib/libpq.so.5 /usr/lib/libpq.so.5
- sed -i 's#su - $PGUSER -c#su -l $PGUSER -s /bin/bash -c#' /home/pgsql/bin/postgresql
- sed -i 's#/usr/local/pgsql#/home/pgsql#' /home/pgsql/bin/postgresql
- ln -s /home/pgsql/bin/postgresql /etc/init.d/postgresql
- chmod +x /etc/init.d/postgresql
- chkconfig --add postgresql
- service postgresql start
- #修改 postgres 密码为 postgres
- su -l postgres -s /bin/bash -c "/home/pgsql/bin/psql"
- postgres=# alter user postgres with password 'postgres';
- echo "/home/pgsql/lib/" > /etc/ld.so.conf.d/pgsql.conf
- /sbin/ldconfig
要买正宗新疆特产,微信扫下面二维码,加老农民咨询购买: