首页 > 数据库 > > PostGIS Extension-PostGIS安装
GaussDB 200数据库的PostGIS Extension源码包可通过网站https://github.com/pg-extension/postgis-xc获取。该Extension需使用GCC-5.4(GNU编译器套件)进行编译安装。
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
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
mkdir $GAUSSHOME/gcc/gcc-5.4.0
mkdir $GAUSSHOME/gcc/gcc-5.4./depend
mkdir $GAUSSHOME/gcc/gcc-5.4./depend/gmp-4.3.2
mkdir $GAUSSHOME/gcc/gcc-5.4./depend/mpfr-2.4.2
mkdir $GAUSSHOME/gcc/gcc-5.4./depend/mpc-1.0.3
mkdir $GAUSSHOME/gcc/gcc-5.4./depend/gcc
进入$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
make install
进入$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
make install
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
make install
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 ~/.bashrcb)进入$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
make install
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 ~/.bashrczlib安装。
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
make install
su - omm
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
安装成功后,可以在/usr/local/lib下找到libz.a。
cd $GAUSSHOME
git clone https://github.com/pg-extension/postgis-xc.git
cd $GAUSSHOME/postgis-xc/geos-3.6.2
chmod +x ./configure
./configure --prefix=$GAUSSHOME/install/geos
make
make install
cd $GAUSSHOME/postgis-xc/proj-4.9.2
chmod +x ./configure
./configure --prefix=$GAUSSHOME/install/proj
make
make install
cd $GAUSSHOME/postgis-xc/json-c-json-c-.12.1-20160607
chmod +x ./configure
./configure --prefix=$GAUSSHOME/install/json
make
make install
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
make installcd $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
make installsh $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
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3118691/ ,如需转载,请注明出处,否则将追究法律责任。