麒麟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;

相关推荐
怪我冷i9 小时前
dbeaver下载数据库驱动加速
数据库·postgresql·ai编程·ai写作
安当加密10 小时前
PostgreSQL 透明数据加密(TDE)方案与应用场景详解
数据库·postgresql
IvorySQL10 小时前
外键的本质竟然是触发器?深入解析 PostgreSQL 约束底层
数据库·postgresql·开源
zdd5678912 小时前
行存表与列存表简述
运维·postgresql
老年DBA14 小时前
Ora2Pg 迁移Oracle至 PostgreSQL 之实战指南
数据库·postgresql·oracle
AI题库18 小时前
PostgreSQL 18 从新手到大师:实战指南 - 1.4 PostgreSQL本地安装
数据库·postgresql
数据知道1 天前
PostgreSQL 的开源扩展:高效存储和检索向量数据的 PGVector 的详细使用
数据库·postgresql·开源
l1t1 天前
一个postgresql奇怪慢查询现象的原因和解决
数据库·sql·postgresql·性能优化
Rainly20002 天前
工作日志之postgresql实现分布式锁
数据库·分布式·postgresql
AC赳赳老秦2 天前
财务数据智能解读:DeepSeek分析利润表生成异常波动原因报告
数据库·人工智能·postgresql·zookeeper·测试用例·时序数据库·deepseek