银河麒麟高级服务器操作系统V10SP2离线安装postgres12+postgis3.1.4步骤
1、postgres12
所需安装包:
链接:https://pan.baidu.com/s/14DbNQ6kPIFOfVRhwkLCXnQ
提取码:i80i
1.1 安装依赖环境
Ncurses安装
Ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。
rpm –ivh ncurses-devel-6.2-1.ky10.x86_64.rpm
2、readline安装
readline的作用是使得可以在命令行回滚历史命令,编辑命令。
rpm –ivh readline-8.0-3.ky10.x86_64.rpm
rpm –ivh readline-devel-8.0-3.ky10.x86_64.rpm
rpm –ivh readline-help-8.0-3.ky10.noarch.rpm
1.2 下载源码包
源码安装步骤解释:
https://blog.csdn.net/hanjinming110/article/details/122959189
2、Postgres安装包下载:
https://www.postgresql.org/ftp/source
https://ftp.postgresql.org/pub/source/v12.0/postgresql-12.0.tar.gz
1.3 linux上面创建文件夹
创建安装目录mkdir /user/local/pg12
2、创建postgres数据库用户:useradd postgres
3、进入pg12目录:cd /user/local/pg12
4、创建数据文件目录:mkdir /data/pgdata
5、数据库数据文件的目录的属主:chown postgres:root /data/pgdata
注:安装目录和数据文件目录自定义,本文postgres装在 /user/local下,数据存放在/data路径下。
1.4 postgres12安装
[root@localhost ~]# cd /ssjd/postgres12
[root@localhost postgres12]# ./configure --prefix=/usr/local/pg12
(–prefix=prefix 安装到prefix指向的目录;不加的话默认为/usr/local/pgsql)
[root@localhost postgres12] make && make install
[root@localhost postgres12] cd /ssjd/postgres12/contrib
[root@localhost contrib] make && make install
1.5 修改环境变量
postgresql 源码安装到
/usr/local/pg12/bin
vim /etc/profile
export PATH=$PATH:/usr/local/pg12/bin
source /etc/profile
1.6 初始化数据库
切换用户
su - postgres
2、执行命令:
initdb -D /data/pgdata
完成数据库的创建过程
3、数据库启动查看
pg_ctl -D xxx(数据目录) start 启动数据库,pg_ctl -D xxxx(数据目录) stop 停止数据库
/usr/local/pg12/bin/pg_ctl start -D /data/pgdata
1.7 设置开机启动
1.7.1 添加开机启动服务
Postgres源码下contrib/start-scripts中找到linux文件:
拷贝至/etc/init.d/ 目录下,并命名为postgres,打开文件按照实际安装位置修改安装路径和data路径:
1.7.2 设置开机启动(root用户下)
开机自启动
systemctl enable postgres
2、启动服务
systemctl start postgres
3、停止服务
systemctl stop postgres
4、服务状态查看
systemctl status postgres
1.7.3 放开监听以及修改连接数
vim /pgdata/postgresql.conf
主要修改如下内容:
- Connection Settings -
listen_addresses = ‘*’ # what IP address(es) to listen on;
port = 5432 # (change requires restart)
max_connections = 2000 # (change requires restart)
修改安全配置
vim /pgdata/pg_hba.conf
在ipv4 下面增加一行记录
host all all 0.0.0.0/0 md5
注:md5 必须使用密码登录 trust 可以不使用密码登录
1.8 设置 postgres 数据库用户的密码
命令终端执行命令
su - postgres
2、进行数据库登录:
psql
3、执行密码修改命令:
alter role postgres with password ‘csss’;
注意一定要有分号。
出现alter role 即可
1.9 重启postgresql 数据库,并且验证是否可以连接
systemctl restart postgres
然后使用 navicat 进行连接测试。
1.10 数据库恢复语句
pg_restore -h 192.168.1.11 -U postgres -d sjk < E:\sjk\cs.backup
2、postgis3.1.4
银河麒麟高级服务器操作系统V10SP2安装postgis3.1.4步骤,步骤只是本人部署查阅相关资料得出的流程,对于各个库的内容了解不是很全面,可能存在有些库多余、有些库缺少的情况。
所需安装包:
链接:https://pan.baidu.com/s/1Q_K5Zg0rhPDBiywJxnY9PA
提取码:mf4m
2.1 geos 3.9.2(几何对象库)
[root@localhost src]# cd /ssjd/geos-3.9.2
[root@localhost geos-3.9.2]# ./configure --prefix=/usr/local/ geos-3.9.2
[root@lo2calhost geos-3.9.2]# make && make install
2.2 automake-1.15
[root@localhost ~]# cd /ssjd/automake-1.15
[root@localhost automake-1.15]# ./configure --prefix=/usr/local/automake-1.15
[root@localhost automake-1.15]# make && make install
[root@localhost automake-1.15]# vim /etc/profile
export PATH=/usr/local/automake-1.15/bin:$PATH
[root@localhost automake-1.15]# source /etc/profile
2.3 help2man-1.44.1
[root@localhost ~]# cd /ssjd/help2man-1.44.1/help2man-1.44.1
[root@localhost help2man-1.44.1]# ./configure --prefix=/usr/local/help2man-1.44.1
[root@localhost help2man-1.44.1]# make && make install
[root@localhost help2man-1.44.1]# vim /etc/profile
export PATH=/usr/local/help2man-1.44.1/bin:$PATH
[root@localhost help2man-1.44.1]# source /etc/profile
2.4 texinfo-6.4
[root@localhost ~]# cd /ssjd/texinfo-6.4
[root@localhost texinfo-6.4]# ./configure --prefix=/usr/local/texinfo-6.4
[root@localhost texinfo-6.4]# mak0e && make install
[root@localhost texinfo-6.4]# vim /etc/profile
export PATH=/usr/local/texinfo-6.4/bin:$PATH
[root@localhost texinfo-6.4]# source /etc/profile
2.5 flex-2.6.4
[root@localhost ~]# cd /ssjd/flex-2.6.4
[root@localhost flex-2.6.4]# ./configure --prefix=/usr/local/flex-2.6.4
[root@localhost flex-2.6.4]# mak00 && make install
[root@localhost flex-2.6.4]# vim /etc/profile
export PATH=/usr/local/flex-2.6.4/bin:$PATH
[root@localhost flex-2.6.4]# source /etc/profile
2.6 gmp-6.2.1(切记默认路径安装,路径为/usr/loca)
[root@localhost ~]# cd /ssjd/gmp-6.2.1
[root@localhost gmp-6.2.1]# ./configure
[root@localhost gmp-6.2.1]# make && make install
2.7 boost_1.73.0(rpm安装,只安装到默认路径,在usr下bin\sbin\include\share中)
rpm -ivh –-nodeps *.rpm
rpm -ivh –nodeps *.rpm
2.8 boost_1_80_0(与1.73.0二选一,1.80.0编译报错后按照1.73.0,)
[root@localhost ~]# cd /ssjd/boost_1_80_0
[root@localhost boost_1_80_0]# ./bootstrap.sh
[root@localhost boost_1_80_0]# ./b2 install
[root@localhost boost_1_80_0]# vim /etc/profile
export LD_LIBARY_PATH=/usr/local/lib:/usr/local/lib
source /etc/profile
2.9 libtool-2.4
[root@localhost ~]# cd /ssjd/libtool-2.4/libtool-2.4
./configure --prefix=/usr/local/libtool-2.4
make && make install
vim /etc/profile
export LD_LIBARY_PATH=/usr/local/lib:/usr/local/libtool-2.4/lib
source /etc/profile
2.10 libxml2-v2.9.12
[root@localhost ~]# cd /ssjd/libxml2-v2.9.12
./autogen.sh
./configure --prefix=/usr/local/libxml2-v2.9.12
make && make install
2.11 libxslt-v1.1.32
[root@localhost ~]# cd /ssjd/libxslt-v1.1.32
./autogen.sh
./configure --prefix=/usr/local/libxslt-v1.1.32
make && make install
2.12 proj-6.2.1
[root@localhost ~]# cd /ssjd/proj-6.2.1
[root@localhost proj-6.2.1]# ./configure --prefix=/usr/local/proj-6.2.1
[root@localhost proj-6.2.1]# make && make install
[root@localhost proj-6.2.1]# echo “/usr/local/proj-6.2.1/lib” >> /etc/ld.so.conf.d/proj-6.2.1
[root@localhost proj-6.2.1]# ldconfig
2.13 json-c
[root@localhost ~]# cd /ssjd/json-c
[root@localhost json-c]# ./configure --prefix=/usr/local/json-c
[root@localhost json-c]#make && make install
[root@localhost json-c]# echo “/usr/local/json-c/lib” >> /etc/ld.so.conf.d/json-c.conf
[root@localhost json-c]# ldconfig
2.14 mpfr-4.1.0(默认路径安装)
依赖环境:GME(MPFR is base on the GME multiple-precision library)
编译步骤:
cd /ssjd/mpfr-4.1.0/mpfr-4.1.0
[root@localhost mpfr-4.1.0]# ./configure –with-gmp=/usr/local
[root@localhost mpfr-4.1.0]# make && make install
2.15 CGAL-4.7
依赖环境:
cmake (version > 2.8.11):银河麒麟V10SP2自带3.16.5版本,可用cmake –version查看
boost (version > 1.48):按照部署手册安装1.80.0版本或者1.73.0版本
gmp (version > 4.2):按照部署手册安装6.2.1
mpfr (version > 2.2.1):按照部署手册安装4.1.0
安装步骤:(一定要默认路径安装)
[root@localhost ~]# cd /usr/local/CGAL-4.7
[root@localhost CGAL-4.7]# mkdir build
[root@localhost CGAL-4.7]# cd build
[root@localhost build]# cmake …/
[root@localhost build]# make && make install
2.16 sfcgal-1.3.1 (可选安装,支持三维数据分析)
[root@localhost ~]# cd /usr/local/SFCGAL-1.3.1
[root@localhost SFCGAL-1.3.1]# mkdir build
[root@localhost SFCGAL-1.3.1]# cd build
[root@localhost build]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/sfcgal-1.3.1 …/
[root@localhost build]# make && make install
[root@localhost build]# echo “/usr/local/sfcgal-1.3.1L/lib” >> /etc/ld.so.conf.d/sfcgal-1.3.1.conf
[root@localhost build]# ldconfig
2.17 sfcgal-1.3.10 (与1.3.1择一安装)
(安装1.3.1报——致命错误:CGAL/Point_inside_polyhedron_3.h:没有那个文件或目录时可尝试安装1.3.10)
[root@localhost ~]# cd /usr/local/SFCGAL-1.3.10
[root@localhost SFCGAL-1.3.10]# mkdir build
[root@localhost SFCGAL-1.3.10]# cd build
[root@localhost build]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/sfcgal-1.3.10 …/
[root@localhost build]# make && make install
[root@localhost build]# echo “/usr/local/sfcgal-1.3.10/lib” >> /etc/ld.so.conf.d/sfcgal-1.3.10.conf
[root@localhost build]# ldconfig
2.18 sqlite-autoconf-3390400
[root@localhost ~]# cd /ssjd/sqlite-autoconf-3390400
[root@localhost sqlite-autoconf-3390400]# ./configure --prefix=/opt/ssjd/sqlit3
[root@localhost sqlite-autoconf-3390400]# make && make install
##测试是否完成安装:
[root@localhost ]sqlite3
显示安装版本并进入数据库
2.19 gdal-3.3.3(栅格功能)
[root@localhost gdal-3.3.3]# ./configure --prefix=/usr/local/gdal --with-proj=/usr/local/proj-6.2.1 --with-libjson-c=/usr/local/json-c
[root@localhost gdal-3.3.3]# make && make install
[root@localhost gdal-3.3.3]# echo “/usr/local/gdal/lib” >> /etc/ld.so.conf.d/gdal-3.3.3.conf
[root@localhost gdal-3.3.3]# ldconfig
2.20 protobuf-3.20.3(可选安装,支持MVT等格式)
[root@localhost]# cd. /ssjd/protobuf-3.20.3
[root@localhost protobuf-3.20.3]# ./autogen.sh
[root@localhost protobuf-3.20.3]# ./configure --prefix=/usr/local/protobuf-3.20.3
[root@localhost protobuf-3.20.3]# make -j 4 && make install
[root@localhost protobuf-3.20.3]# vim /etc/profile
export PROTOBUF_HOME=/usr/local/protobuf-3.20.3
export PATH=/usr/local/protobuf-3.20.3/bin
[root@localhost protobuf-3.20.3]# source /etc/profile
验证protobuf是否安装成功
[root@localhost protobuf-3.20.3]# protoc --version
libprotoc 3.20.3
2.21 protobuf-c-1.4.0
[root@localhost]# cd /ssjd/ protobuf-c-1.4.0
//导入protobuf的pkgconfig
[root@localhost. protobuf-c-1.4.0]# export PKG_CONFIG_PATH=/usr/local/protobuf-3.20.3/lib/pkgconfig
[root@localhost protobuf-c-1.4.0]# ./configure --prefix=/usr/local/ protobuf-c-1.4.0
[root@localhost protobuf-c-1.4.0]# make -j 4 && make install
[root@localhost protobuf-c-1.4.0]# make install
[root@localhost protobuf-c-1.4.0]# vim /etc/profile
export PATH=/usr/local/protobuf-c-1.4.0/bin
[root@localhost protobuf-c-1.4.0]# source /etc/profile
2.22 Postgis3.1.4
2.22.1 配置ld.so.conf(安装过程已配置的在此可忽略,根据自己的安装路径配置)
[root@localhost ]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
/pg/pgsql/lib
/usr/local/proj-6.2.1/lib
/usr/local/gdal-3.3.3/lib
/usr/local/geos-3.8.0/lib
/usr/local/sfcgal-1.3.10/lib64
/usr/local/json-c/lib
/usr/local/libxml2-v2.9.12/lib
/usr/local/protobuf-3.20.3/lib
/usr/local/protobuf-c-1.4.0/lib
//保存退出,生效文件
2.22.2 Postgis3.1.4安装
//带protobuf,sfcgal安装
[root@localhost]# cd /ssjd/postgis-3.1.4
[root@localhost postgis-3.1.4]# ./configure --prefix=/usr/local/pgsql --with-gdalconfig=/usr/local/gdal/bin/gdal-config --with-pgconfig=/usr/local/pg12/bin/pg_config --with-geosconfig=/usr/local/geos-3.8.0/bin/geos-config --with-projdir=/usr/local/proj-6.2.1 --with-xml2config=/usr/local/libxml2-v2.9.12/bin/xml2-config --with-jsondir=/usr/local/json-c --with-protobufdir=/usr/local/protobuf-c-1.4.0 --with-sfcgal=/usr/local/sfcgal-1.3.10/bin/sfcgal-config
//执行后若提示如下信息:
//选择不带protobuf安装
[root@localhost]# cd /ssjd/postgis-3.1.4
[root@localhost postgis-3.1.4]# ./configure --prefix=/usr/local/pgsql --with-gdalconfig=/usr/local/gdal/bin/gdal-config --with-pgconfig=/usr/local/pg12/bin/pg_config --with-geosconfig=/usr/local/geos-3.8.0/bin/geos-config --with-projdir=/usr/local/proj-6.2.1 --with-xml2config=/usr/local/libxml2-v2.9.12/bin/xml2-config --with-jsondir=/usr/local/json-c --with-sfcgal=/usr/local/sfcgal-1.3.10/bin/sfcgal-config --without-protobuf
//make编译
[root@localhost postgis-3.1.4]# make && make install
2.22.3 验证安装
切换postgres用户
su - postgres
2、登录PG数据库
psql
postgres=#
2.22.4 postgis扩展安装
2.22.4.1 postgis扩展介绍
参考资料:https://zhuanlan.zhihu.com/p/159103073
1、postgis
postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用。
2、postgis_raster
对栅格数据的支持。
3、postgis_topology
拓扑功能的支持。
4、postgis_sfcgal
这个Extension主要是集成了CGAL(Computational Geometry Algorithms Library,计算几何算法库),来进行三维空间数据的空间运算。
5、postgis_tiger_geocoder
TIGER指的是(拓扑集成地理编码和参考),这个是美国人口普查局的GIS数据,提供了美国全国的行政区划、交通道路、水系等空间数据。这个Extension提供了TIGER数据的地理编码支持,需要注意的是这个Extension启用前,需要先启用fuzzystrmatch(字符串模糊查询)Extension,以及可选的address_standardizer(TIGER数据地址规则化)、address_standardizer_data_us(地址规则化示例数据集)Extension。
- ---------------下面介绍的Extension在Ubuntu/Debian平台下需要自行安装---------------
6、ogr_fdw
这个Extension可以利用OGR读取外部的GIS数据(例如Shepfile),其实是结合了OGR和PostgreSQL的foreign data wrappers。
7、pgrouting
pgrouting提供了对路网的分析支持,包括双向Dijkstra最短路径等10多种功能。
8、pointcloud
提供对LiDAR点云的支持,提供对点云数据的存储。这个很有意思,这里多说一点。启用pointcloud Extension的PostgreSQL 数据库,可以利用PDAL进行LiDAR点云数据的读取和保存。
2.22.4.2 Postgis扩展安装
extensions安装(定位到postgis3.1.4源码路径extensions下)
#cd extensions
#make clean
#make && make install
2、postgis_topology安装(定位到postgis3.1.4源码路径extensions下)
#cd postgis_topology
#make clean
#make && make install
3、postgis_tiger_geocoder安装(定位到postgis3.1.4源码路径extensions下)
#cd postgis_tiger_geocoder
#make clean
#make && make install
注:postgis3.1.4源码路径extensions下其他扩展也可通过上述方法安装。
4、fuzzystrmatch安装
fuzzystrmatch这个扩展是在postgresql的源码安装包内的contrib目录下,进入fuzzystrmatch的目录,直接make &&make install即可;
5、pgrouting-3.4.1安装
#cd /ssjd/pgrouting-3.4.1
#mkdir build
#cd build/
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/pg12 …/
#make && make install
6、pointcloud-1.2.2安装
#cd /ssjd/ pointcloud-1.2.2
[root@localhost pointcloud-1.2.2]# ./configure --with-pgconfig=/usr/local/pg12/bin/pg_config
[root@localhost pointcloud-1.2.2]# make && make install
7、pgsql-ogr-fdw-1.0.8安装(安装报错未解决,对数据库无影响暂不安装)。
2.22.4.3 postgis扩展创建
//登录PG数据库
psql
postgres=#
//创建以下扩展
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
CREATE EXTENSION pgrouting;
CREATE EXTENSION pointcloud;
CREATE EXTENSION pointcloud_postgis;
//显示一下扩展模块
\dx
------2023年8月26日补充内容------
后来项目使用数据库发现需要uuid-ossp扩展,查阅资料进行相关补充。
2.22.4.4uuid-ossp扩展安装
所需安装包:
链接:https://pan.baidu.com/s/1pttQKKOEMOC7MHzLUeJSEg
提取码:xs0z
1、libuuid安装
rpm -ivh libuuid-2.35.2-2.p02.ky10.x86_64.rpm
2、e2fsprogs-devel安装
rpm -ivh libuuid-2.35.2-2.p02.ky10.x86_64.rpm
3、uuid-ossp扩展安装
3.1到postgresql-12.0源码包下
cd /ssjd/00-sjk/00postgres12/postgresql-12.0/
执行./configure --prefix=/usr/local/pg12/ --with-uuid=e2fs
3.2到指定扩展下cd /ssjd/00-sjk/00postgres12/postgresql-12.0/contrib/uuid-ossp/
执行make&&make install
4、扩展创建
//登录PG数据库
psql
postgres=#
//创建以下扩展
CREATE EXTENSION uuid-ossp;
2.22.4.5恢复数据库这个扩展缺少报错暂未找到办法解决
来源地址:https://blog.csdn.net/qq_34159299/article/details/128518809