PostgreSQL 9.6.1 for CentOS 6.8 安装--优化编译

前端之家收集整理的这篇文章主要介绍了PostgreSQL 9.6.1 for CentOS 6.8 安装--优化编译前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. # Postgresql 9.6.1 for CentOS 6.8 优化编译安装
  2. #作者:老农民
  3. #QQ: 46715422
  4. #Email: flyingercn@wo.cn
  5. #微信: ericliu_77
  6.  
  7. # 此处借用了之前德哥的编译建议,另外关于参数设置等,请自行参考德哥的建议,这里将使用最新gcc 和 python2.7,至于本脚本编译安装过程,就不注释了,基础知识自行恶补吧。
  8.  
  9. # 安装 GCC6.3 最新版
  10. 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
  11.  
  12. tar xf gcc-6.3.0.tar.bz2
  13. cd gcc-6.3.0/
  14. ./contrib/download_prerequisites
  15. mkdir gcc-build-6.3.0
  16. cd gcc-build-6.3.0
  17. ../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
  18. make -j8
  19. make install
  20. cd ../../
  21.  
  22. echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf
  23. echo "/usr/local/gcc6/lib" > /etc/ld.so.conf.d/gcc6.conf
  24. /sbin/ldconfig
  25.  
  26. # 安装 Python 2.7.13 最新版
  27. 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
  28.  
  29. xz -d Python-2.7.13.tar.xz
  30. tar xf Python-2.7.13.tar
  31. cd Python-2.7.13/
  32. 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
  33. export PATH=/usr/local/bin:/usr/local/gcc6/bin:/usr/local/python27/bin:$PATH:.
  34. CC="/usr/local/gcc6/bin/gcc" ./configure --prefix=/usr/local/python27 --enable-shared
  35. CC="/usr/local/gcc6/bin/gcc" make -j `grep processor /proc/cpuinfo | wc -l`
  36. CC="/usr/local/gcc6/bin/gcc" make install
  37. cd ../
  38.  
  39. vi ~/env.sh
  40. alias cc=/usr/local/gcc6/bin/gcc
  41. alias gcc=/usr/local/gcc6/bin/gcc
  42. alias c++=/usr/local/gcc6/bin/c++
  43. alias g++=/usr/local/gcc6/bin/g++
  44. alias cpp=/usr/local/gcc6/bin/cpp
  45. 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
  46. export PATH=/usr/local/bin:/usr/local/gcc6/bin:/usr/local/python27/bin:$PATH:.
  47.  
  48. echo "/usr/local/python27/lib" > /etc/ld.so.conf.d/python27.conf
  49. /sbin/ldconfig
  50.  
  51.  
  52. # 安装Postgresql 9.6.1
  53. #添加可能需要个包
  54. yum -y install autoconf libjpeg libjpeg-devel libpng libpng-devel libtool-ltdl libtool-ltdl-devel
  55. yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
  56. yum -y install bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel
  57. yum -y install libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers openldap-devel
  58. 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
  59. 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
  60.  
  61. # 使用最新环境编译
  62. . ~/env.sh
  63.  
  64. #创建Postgresql用户和组
  65. /usr/sbin/groupadd postgres
  66. /usr/sbin/useradd -r -g postgres -s /bin/false -M postgres
  67. mkdir /home/postgres
  68.  
  69. mkdir -p /home/postgresdata
  70. chmod +w /home/postgresdata
  71. chown -R postgres:postgres /home/postgresdata
  72.  
  73. tar xf postgresql-9.6.1.tar.bz2
  74. cd postgresql-9.6.1/
  75. export USE_NAMED_POSIX_SEMAPHORES=1
  76. 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
  77. LIBS=-lpthread CC="/usr/local/gcc6/bin/gcc" CFLAGS="-O3 -flto" make world -j `grep processor /proc/cpuinfo | wc -l`
  78. LIBS=-lpthread CC="/usr/local/gcc6/bin/gcc" CFLAGS="-O3 -flto" make install-world
  79. cd contrib/
  80. LIBS=-lpthread CC="/usr/local/gcc6/bin/gcc" CFLAGS="-O3 -flto" make install clean
  81. cd ../
  82. cp -r contrib/ /home/pgsql/contrib
  83. ln -s /home/postgresdata /home/pgsql/data
  84. chown -R postgres:postgres /home/pgsql/data
  85. chown -R postgres:postgres /home/postgres
  86. su -l postgres -s /bin/bash -c "/home/pgsql/bin/initdb --locale=C -E UTF8 -D /home/pgsql/data/"
  87.  
  88. sed -i "s#\#listen_addresses = 'localhost'#listen_addresses = '*'#" /home/pgsql/data/postgresql.conf
  89. sed -i 's#\#port = 5432#port = 5432#' /home/pgsql/data/postgresql.conf
  90. cp contrib/start-scripts/linux /home/pgsql/bin/postgresql
  91. ln -s /home/pgsql/lib/libpq.so.5 /usr/lib/libpq.so.5
  92.  
  93. sed -i 's#su - $PGUSER -c#su -l $PGUSER -s /bin/bash -c#' /home/pgsql/bin/postgresql
  94. sed -i 's#/usr/local/pgsql#/home/pgsql#' /home/pgsql/bin/postgresql
  95.  
  96. ln -s /home/pgsql/bin/postgresql /etc/init.d/postgresql
  97. chmod +x /etc/init.d/postgresql
  98. chkconfig --add postgresql
  99. service postgresql start
  100.  
  101. #修改 postgres 密码为 postgres
  102. su -l postgres -s /bin/bash -c "/home/pgsql/bin/psql"
  103. postgres=# alter user postgres with password 'postgres';
  104.  
  105. echo "/home/pgsql/lib/" > /etc/ld.so.conf.d/pgsql.conf
  106. /sbin/ldconfig

要买正宗新疆特产,微信扫下面二维码,加老农民咨询购买:

猜你在找的Postgre SQL相关文章