美文网首页
Centos7.5下PostgreSQL15中安装Postgis

Centos7.5下PostgreSQL15中安装Postgis

作者: 数据老菜鸟 | 来源:发表于2022-12-22 15:24 被阅读0次

    环境

         postgresql 15  centos7.5

    安装

    1.下载postgis-3.3.0.tar.gz    

    http://download.osgeo.org/postgis/source/

    解压:

    tar -zxvf  postgis-3.3.0.tar.gz

    移动解压数据到opt目录下

    mv postgis-3.3.0 /opt/

    2.依赖项


    yum安装依赖项

         yum install libxml2-devel.x86_64

          yum install ncurses-devel

          yum install openssl-devel

    cmake 3.3.2:

        https://cmake.org/files/v3.23/cmake-3.23.1.tar.gz        

        tar -zxvfcmake-3.23.1.tar.gz

        cd cmake-3.3.2

        ./configure

        make && make install

    注意:

     后续针对所有使用cmake 安装的依赖我们必须要在CMakeLists.txt 中添加  add_compile_options(-fPIC),不然后边会有一些报错信息

    sqlit3 3.4:

        https://www.sqlite.org/2021/sqlite-autoconf-3350500.tar.gz

        tar -zxvf sqlite-autoconf-3400000.tar.gz

        cd sqlite-autoconf-3400000

        ./configure

        make && make install

        查看版本 usr/local/bin/sqlite3 --version

     注意:

    后续在编译gdal时候有使用报错信息如下:

    /root/gdal-2.3.0/.libs/libgdal.so: undefined reference to sqlite3_column_origin_name'

    /root/gdal-2.3.0/.libs/libgdal.so: undefined reference to sqlite3_column_table_name'

    所以安装时候需要设置一个宏 https://www.sqlite.org/compile.html 具体做法是在

    sqlite3.c中添加一行 #define SQLITE_ENABLE_COLUMN_METADATA 1


    geos3.9.3:

        https://download.osgeo.org/geos

        下载geos-3.9.tar.bz2

        tar -jxvf geos-3.9.tar.bz2

        ./configure

        make && make install

    PROJ 6.1.1:

        http://download.osgeo.org/proj

        proj-6.1.1.tar.gz

        tar -jxvf proj-6.1.1.tar.gz

        ./configure

        make && make install

    protobuf:(这里使用的是3.2.0 版本)

    https://github.com/protocolbuffers/protobuf/releases?page=12

        protobuf-3.2.0.tar.gz

        tar -zxvf protobuf-3.2.0.tar.gz

        cd cmake

        cmake .   

        make

        make install

        查看版本:protoc --version

    默认是安装在 /usr/local/bin/protoc 我们拷贝一份到 /usr/bin 目录下

    cp /usr/local/bin/protoc  usr/bin/protoc

    protobuf-c(protobuf-c-1.1.0 这里对应protobuf版本为 3.2.0):

        https://github.com/protobuf-c/protobuf-c/releases?page=1

        tar protobuf-c-1.1.0.tar.gz

        cd build-cmake

        cmake .

        make && make install

    GDAL3.3(make时间很长)

        https://download.osgeo.org/gdal/3.3.0/

        tar -zxvf gdal-3.3.0.tar.gz

        cd  gdal-3.3.0

        ./configure

        make && make install

    json-c 0.13:

        https://github.com/json-c/json-c/tags

        json-c-json-c-0.13.1-20180305.tar.gz

        cd json-c-json-c-0.13.1-20180305

        ./configure

        make && make install

    安装CGAL 4.14(非必须,如果要装SFCGAL) (处理3D数据)

        https://github.com/CGAL/cgal/releases?page=4

        CGAL存在一些系统依赖库必须要安装

        yum -y install gmp-devel boost-devel mpfr-devel zlib-devel libxml2-devel

        CGAL-4.14.tar.xz

        tar -xvJf CGAL-4.14.tar.xz

        cd CGAL-4.14

        mkdir build

        cd build

        cmake ..

        make

        make install

    SFCGALv1.3.7

        https://github.com/Oslandia/SFCGAL/releases

        tar -zxvf SFCGAL-1.3.7.tar.gz

        cd SFCGAL-1.3.7

        mkdir build

        cd build

        cmake ..

        make

        make install

    3.安装postgis(必须使用 postgre用户进行安装)

    确定之前安装的pg的配置文件pg_config (pg 安装bin目录下),我的是/opt/pgsql/bin/pg_config

    cd /opt/postgis-3.3.2

    ./configure --with-pgconfig=/opt/pgsql/bin/pg_config

    ./configure --with-pgconfig=/opt/pgsql/bin/pg_config

    make

    make install

    错误:gcc: error: /usr/local/lib/libSFCGAL.so: No such file or directory

    libSFCGAL.so 在  /usr/local/lib64目录下,将其拷贝到上面目录即可 或者建立软连接

    ln -sv /usr/local/lib64/libSFCGAL.so.1.3.7  /usr/local/lib/libSFCGAL.so

    ln -sv /usr/local/lib64/libSFCGAL.so.1.3.7  /usr/local/lib/libSFCGAL.so.1

    4、测试

    进入mytest数据库

    \c mytest

    创建数据库中postgis插件

    CREATE EXTENSION postgis;

    查看版本

    SELECT postgis_full_version();

    创建sfcgal插件:

    create extension postgis_sfcgal;

    到此postgis安装成功

    相关文章

      网友评论

          本文标题:Centos7.5下PostgreSQL15中安装Postgis

          本文链接:https://www.haomeiwen.com/subject/uovvqdtx.html