暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB A PostGIS安装

墨天轮 2019-10-12
2039

PostGIS安装

GaussDB 200数据库的PostGIS Extension源码包可通过网站https://github.com/pg-extension/postgis-xc获取。该Extension需使用GCC-5.4(GNU编译器套件)进行编译安装。在整个安装过程中,可使用make -sj和make install -sj命令并行加速编译,-sj命令极低概率性出现安装错误,如果安装失败则请使用make和make install进行串行安装。

操作步骤

  • GCC-5.4(GNU编译器套件)编译器安装。若集群中已经安装GCC-5.4编译器,可直接跳过本步骤。

    PostGIS安装依赖GCC-5.4编译器。GCC-5.4编译器推荐使用源码由低版本的gcc和g++编译器进行升级安装。若集群中没有低版本gcc和g++编译器,可以通过挂载操作系统镜像等方法进行安装,这里不做赘述。GCC-5.4编译器相关依赖软件包,包括gcc-5.4.0、gmp-4.3.2、mpfr-2.4.2、mpc-1.0.3,安装包下载地址分别为:

    https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz

    https://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.gz

    https://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.gz

    https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz

    • 以操作系统用户omm登录GaussDB 200集群任一主机。执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。
    • 创建GCC安装主目录$GAUSSHOME/gcc和代码下载目录$GAUSSHOME/gcc/packages,并下载软件包gcc-5.4.0.tar.gz、gmp-4.3.2.tar.gz、mpc-1.0.3.tar.gz、mpfr-2.4.2.tar.gz至$GAUSSHOME/gcc/packages目录。
      mkdir $GAUSSHOME/gcc mkdir $GAUSSHOME/gcc/packages
    • 解压下载软件。
      cd $GAUSSHOME/gcc/packages tar -xzf gcc-5.4.0.tar.gz tar -xzf gmp-4.3.2.tar.gz tar -xzf mpc-1.0.3.tar.gz tar -xzf mpfr-2.4.2.tar.gz
    • 创建GCC安装目录。
      mkdir $GAUSSHOME/gcc/gcc-5.4.0 mkdir $GAUSSHOME/gcc/gcc-5.4.0/depend mkdir $GAUSSHOME/gcc/gcc-5.4.0/depend/gmp-4.3.2 mkdir $GAUSSHOME/gcc/gcc-5.4.0/depend/mpfr-2.4.2 mkdir $GAUSSHOME/gcc/gcc-5.4.0/depend/mpc-1.0.3 mkdir $GAUSSHOME/gcc/gcc-5.4.0/depend/gcc
    • 安装gmp-4.3.2。

      进入$GAUSSHOME/gcc/packages/gmp-4.3.2目录,执行下列命令完成gmp安装操作:

      cd $GAUSSHOME/gcc/packages/gmp-4.3.2 ./configure --prefix $GAUSSHOME/gcc/gcc-5.4.0/depend/gmp-4.3.2 make -sj make install -sj
    • 安装mpfr-2.4.2。

      进入$GAUSSHOME/gcc/packages/mpfr-2.4.2目录,执行以下命令完成mpfr安装操作:

      cd $GAUSSHOME/gcc/packages/mpfr-2.4.2 ./configure --prefix $GAUSSHOME/gcc/gcc-5.4.0/depend/mpfr-2.4.2 --with-gmp=$GAUSSHOME/gcc/gcc-5.4.0/depend/gmp-4.3.2 make -sj make install -sj
    • 安装mpc-1.0.3。
      进入$GAUSSHOME/gcc/packages/mpc-1.0.3目录,执行下列命令完成mpc安装操作:
      cd $GAUSSHOME/gcc/packages/mpc-1.0.3 ./configure --prefix=$GAUSSHOME/gcc/gcc-5.4.0/depend/mpc-1.0.3 --with-gmp=$GAUSSHOME/gcc/gcc-5.4.0/depend/gmp-4.3.2 --with-mpfr=$GAUSSHOME/gcc/gcc-5.4.0/depend/mpfr-2.4.2 make -sj make install -sj
    • 安装gcc-5.4.0。

      a) 添加lib路径至~/.bashrc。

      在vim编辑器中打开~/.bashrc文档。

      vim ~/.bashrc

      添加以下内容:

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GAUSSHOME/gcc/gcc-5.4.0/depend/gmp-4.3.2/lib:$GAUSSHOME/gcc/gcc-5.4.0/depend/mpfr-2.4.2/lib:$GAUSSHOME/gcc/gcc-5.4.0/depend/mpc-1.0.3/lib
      执行如下命令使设置生效。
      source ~/.bashrc
      b)进入$GAUSSHOME/gcc/packages/gcc-5.4.0目录,执行下列命令完成gcc安装操作。
      cd $GAUSSHOME/gcc/packages/gcc-5.4.0 ./configure --prefix=$GAUSSHOME/gcc/gcc-5.4.0/depend/gcc -disable-multilib --with-gmp=$GAUSSHOME/gcc/gcc-5.4.0/depend/gmp-4.3.2 -enable-languages=c,c++ --with-mpfr=$GAUSSHOME/gcc/gcc-5.4.0/depend/mpfr-2.4.2 --with-mpc=$GAUSSHOME/gcc/gcc-5.4.0/depend/mpc-1.0.3 make -sj make install -sj

      c) 设置环境变量。

      在vim编辑器中打开~/.bashrc文档。

      vim ~/.bashrc

      加入以下内容:

      export CC=$GAUSSHOME/gcc/gcc-5.4.0/depend/gcc/bin/gcc export CXX=$GAUSSHOME/gcc/gcc-5.4.0/depend/gcc/bin/g++ export LD_LIBRARY_PATH=$GAUSSHOME/gcc/gcc-5.4.0/depend/gcc/lib64:$LD_LIBRARY_PATH export PATH=$GAUSSHOME/gcc/gcc-5.4.0/depend/gcc/bin:$PATH
      执行如下命令使设置生效。
      source ~/.bashrc

  • zlib安装。

    Libxml2软件包编译安装依赖zlib无损数据压缩库。omm用户可执行find /usr/ -name libz.a查看zlib是否安装(如果libz.a存在则zlib已安装)。

    若zlib未安装,可从网站https://sourceforge.net/projects/libpng/files/zlib/1.2.8/zlib-1.2.8.tar.gz/download下载,并以root用户进入代码目录并执行如下命令进行安装,并再次切换回omm用户

    ./configure make -sj make install -sj su - omm source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

    安装成功后,可以在/usr/local/lib下找到libz.a。

  • autoconf和automake安装。JSON-C软件包编译安装依赖autoconf和automake工具。若集群中没有autoconf和automake工具,可以通过挂载操作系统镜像等方法进行安装,这里不做赘述。
  • PostGIS依赖库安装。

    • 从网站https://github.com/pg-extension/postgis-xc获取PostGIS源码至$GAUSSHOME目录。
      cd $GAUSSHOME git clone https://github.com/pg-extension/postgis-xc.git
    • 分别编译Geos、Proj、JSON-C、Libxml2、PostGIS并生成相关动态链接库。编译命令为:
      • Geos
        cd $GAUSSHOME/postgis-xc/geos-3.6.2 chmod +x ./configure ./configure --prefix=$GAUSSHOME/install/geos make -sj make install -sj
      • Proj
        cd $GAUSSHOME/postgis-xc/proj-4.9.2 chmod +x ./configure ./configure --prefix=$GAUSSHOME/install/proj make -sj make install -sj
      • JSON-C
        cd $GAUSSHOME/postgis-xc/json-c-json-c-0.12.1-20160607 chmod +x ./configure ./configure --prefix=$GAUSSHOME/install/json make -sj make install -sj
      • Libxml2
        cd $GAUSSHOME/postgis-xc tar xzf libxml2-2.7.1.tar.gz cd $GAUSSHOME/postgis-xc/libxml2-2.7.1 chmod +x ./configure ./configure --prefix=$GAUSSHOME/install/libxml2 make -sj make install -sj
        对于ARM操作系统,则需使用如下configure命令:
        ./configure --prefix=$GAUSSHOME/install/libxml2 --build=aarch64-unknown-linux-gnu
      • PostGIS
        cd $GAUSSHOME/postgis-xc/postgis-2.4.2 chmod +x ./configure ./configure --prefix=$GAUSSHOME/install/pggis2.4.2 --with-pgconfig=$GAUSSHOME/bin/pg_config --with-projdir=$GAUSSHOME/install/proj --with-geosconfig=$GAUSSHOME/install/geos/bin/geos-config --with-jsondir=$GAUSSHOME/install/json --with-xml2config=$GAUSSHOME/install/libxml2/bin/xml2-config --without-raster --without-topology CFLAGS='-O2 -fpermissive -DPGXC -pthread -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -DMEMORY_CONTEXT_CHECKING -w' CC=g++ make -sj make install -sj
    • omm用户执行$GAUSSHOME/share/postgis目录下的脚本文件PostGIS_install.sh,完成PostGIS相关动态链接库在集群节点中的分发。
      sh $GAUSSHOME/share/postgis/PostGIS_install.sh
      动态链接库分发脚本执行完毕后,可执行下列命令删除$GAUSSHOME/postgis安装目录。
      rm -rf $GAUSSHOME/postgis-xc

      若用户不想保留GCC5.4编译器,可删除GCC5.4安装目录并在~/.bashrc文件中删除安装GCC5.4时添加的环境配置信息。

      rm -rf $GAUSSHOME/gcc
    • 重启集群。
      gs_om -t stop && gs_om -t start


查看更多:华为GaussDB 200 PostGIS Extension
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论