麒麟V10SP1部署postgresql+postgis+pgrouting

1、查看当前操作系统版本:

nkvers

############## Kylin Linux Version #################

Release:

Kylin Linux Advanced Server release V10 (Tercel)

Kernel:

4.19.90-17.5.ky10.aarch64

Build:

Kylin Linux Advanced Server

release V10 (SP1) /(Tercel)-aarch64-Build07/20200821

#################################################

2、安装依赖包

如果是无外网连接离线安装,先用:yum install --downloadonly 软件名称 --downloaddir=指定rpm包存放路径 下载好如下依赖包然后CP到服务器上运行RPM -IVH *.RPM,有外网连接直接运行如下命令:

yum install bzip*

yum install -y perl-ExtUtils-Embed

yum install -y flex

yum install -y bison

yum install -y readline-devel

yum install -y zlib-devel

yum install -y openssl-devel

yum install -y pam-devel

ryum install -y libxml2-devel

yum install -y libxslt-devel

yum install -y openldap-devel

yum install -y python-devel

yum install -y gcc-c++

yum install -y libssh2-devel

yum install cmake

yum install sqlite-devel

3、安装PostgreSQL

#下载源码包

wget http://ftp.postgresql.org/pub/source/v13.1/postgresql-13.1.tar.bz2

#解压源码包

tar xjvf postgresql-13.1.tar.bz2

#进入解压源码包目录

cd postgresql-13.1/

#配置编译

./configure --prefix=/opt/pgsql

#编译

gmake

#安装

gmake install

4、安装PostGIS依赖

因PostGIS依赖都无法通过YUM 源安装,因此只能通过源码安装:

4.1、#安装geos

wget http://download.osgeo.org/geos/geos-3.8.0.tar.bz2

tar -xjf geos-3.8.0.tar.bz2

cd geos-3.8.0

./configure --prefix=/opt/geos-3.8.0 --enable-python

make

sudo make install

4.2、#安装proj

wget https://download.osgeo.org/proj/proj-6.2.1.tar.gz

sudo apt-get install sqlite3

tar zxvf proj-6.2.1.tar.gz

cd proj-6.2.1

./configure --prefix=/opt/proj-6.2.1

make

sudo make install

4.3、#安装libxml2

wget ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz

tar zxvf libxml2-2.9.1.tar.gz

cd libxml2-2.9.1

./configure --prefix=/opt/libxml2-2.9.1

make

sudo make install

4.4、#安装json-c

git clone https://github.com/json-c/json-c.git

mkdir json-c-build

cd json-c-build

cmake .../json-c -DCMAKE_INSTALL_PREFIX=/opt/json-c

make

sudo make install

4.5、#安装 gdal

wget https://download.osgeo.org/gdal/3.3.3/gdal-3.3.3.tar.gz

tar zxvf gdal-3.3.3.tar.gz

cd gdal-3.3.3

./configure --prefix=/opt/gdal-3.3.3 --with-proj=/opt/proj-6.2.1 --with-libjson-c=/opt/json-c

make clean;make

sudo make install

编译过程中如报PNG错误,需修改代码:vi /gdal-3.3.3/frmts/png/libpng/pngpriv.h

在#ifndef PNG_ARM_NEON_OPT行上增加#define PNG_ARM_NEON_OPT 0

4.6、安装protobuf

下载源码

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protobuf-all-3.6.1.tar.gz

tar zxvf protobuf-all-3.6.1.tar.gz

cd protobuf-3.6.1

./configure --prefix=/opt/protobuf-3.6.1

make

sudo make install

#配置环境变量,增加/usr/local/protobuf-3.6.1安装目录

vi /etc/profile

export CMAKE_HOME=/usr/bin/cmake

export PKG_CONFIG_PATH=/opt/protobuf-3.6.1/lib/pkgconfig

export PROTOBUF_HOME=/opt/protobuf-3.6.1

export PATH=CMAKE_HOME/bin:PROTOBUF_HOME/bin:$PATH

#wq保存退出

source /etc/profile

#验证protobuf执行程序

protoc --version

4.7、#安装protobuf-c

wget https://github.com/protobuf-c/protobuf-c/releases/download/v1.4.0/protobuf-c-1.4.0.tar.gz

tar -zxvf protobuf-c-1.4.0.tar.gz

cd protobuf-c-1.4.0

#导入protobuf的pkgconfig,否则"--No package 'protobuf' found"

export PKG_CONFIG_PATH=/opt/protobuf-3.6.1/lib/pkgconfig

./configure --prefix=/opt/protobuf-c-1.4.0

make

make install

#配置环境变量,增加protobuf-c-1.4.0/bin

vi /etc/profile

export PATH=$PATH:/opt/protobuf-c-1.4.0/bin

#保存退出

source /etc/profile

5、安装PostGIS

#下载PostGIS源码

wget http://download.osgeo.org/postgis/source/postgis-3.1.6.tar.gz

tar zxvf postgis-3.1.6.tar.gz

cd postgis-3.1.6

./configure --prefix=/opt/postgis --with-gdalconfig=/opt/gdal-3.3.3/bin/gdal-config --with-pgconfig=/opt/pgsql/bin/pg_config --with-geosconfig=/opt/geos-3.8.0/bin/geos-config --with-projdir=/opt/proj-6.2.1/ --with-xml2config=/opt/libxml2-2.9.1/bin/xml2-config --with-jsondir=/opt/json-c --with-protobufdir=/opt/protobuf-c-1.4.0

注意:with前是两个-

make

make install

configrue 若提示版protobuf-c版本不对,需要手动修改configure脚本,增加版本变量值到configure文件。

6、安装pgRouting依赖

6.1、#安装CGAL

wget https://github.com/CGAL/cgal/archive/refs/tags/v5.5.1.tar.gz

tar -zxvf v5.5.1.tar.gz

cd cgal-5.5.1/

mkdir build

cd build

cmake -DCMAKE_INSTALL_PREFIX=/opt/cgal-5.5.1 ...

make

make install

6.2、#安装BOOST

wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz

./bootstrap.sh --prefix=/opt/boost_1_81_0

./b2

sudo ./b2 install

7、安装pgRouting

wget https://github.com/pgRouting/pgrouting/releases/download/v3.4.2/pgrouting-3.4.2.tar.gz

tar -zxvf pgrouting-3.4.2.tar.gz

cd pgrouting-3.4.2

mkdir build

编辑环境配置文件vim /etc/profile

增加:export PATH=/opt/pgsql/bin/:$PATH

source /etc/profile

cd build

cmake -DCMAKE_INSTALL_PREFIX=/opt/pgrouting-3.4.2 ...

make

make install

8、测试PostGIS与pgRouting

#启动PostgreSQL

su postgres

pg_ctl -D /opt/pgsql/data start

#进入psql

/opt/pgsql/bin/psql

#创建PostgreSQL扩展

CREATE EXTENSION postgis;

CREATE EXTENSION pgrouting;

CREATE EXTENSION postgis_topology;

#列表列表插件

\dx

#检查插件版本

SELECT PostGIS_full_version();

select pgr_version();

#测试MVT

WITH mvtgeom AS

(

SELECT ST_TileEnvelope(12,513,412) AS geom

)

SELECT ST_AsMVT(mvtgeom.*)

FROM mvtgeom;

相关推荐
凭X而动2 天前
MySQL 5.7.44 部署
数据库·mysql·部署
agilearchitect2 天前
asyncpg:专为 asyncio 打造的 PostgreSQL 驱动
数据库·其他·postgresql
IvorySQL2 天前
PostgreSQL 技术日报 (6月10日)|多工具版本更新,PG19 图语法落地
数据库·postgresql
IvorySQL2 天前
PostgreSQL 全球对话:开源链接世界,共建共治共享
数据库·postgresql·开源
IvorySQL2 天前
PostgreSQL 技术日报 (6月11日)|规划器扩展优化,POSETTE 大会倒计时
数据库·postgresql
dabidai2 天前
Docker PostgreSQL Windows 权限问题总结
windows·docker·postgresql
biubiubiu07062 天前
Ubuntu中3种定时任务
数据库·ubuntu·postgresql
IvorySQL2 天前
PostgreSQL 技术日报 (6月12日)|自研云原生 PG 平台,AI 开源共享协议发布
人工智能·postgresql·云原生
阿里云瑶池数据库2 天前
从开源插件到生产级引擎:PolarDB PostgreSQL的向量能力新范式
数据库·阿里云·postgresql
gerrywhu3 天前
【应用实践】PostGIS实现NDVI计算与植被覆盖分级统计分析-以武汉市2025年为例
数据库·postgis·栅格数据分析·st_mapalgebra·ndvi计算·植被覆盖分级统计·植被覆盖计算