当前位置: 首页 > news >正文

统信桌面专业版部署postgresql-14.2+postgis-3.2方法介绍

文章来源:统信桌面专业版部署postgresql-14.2+postgis-3.2方法介绍 | 统信软件-知识分享平台

应用场景

CPU架构:X86(海光C86-3G 3350)

OS版本信息:1070桌面专业版

软件信息:postgresql-14.2+postgis-3.2

背景介绍

客户需要在机器上跑国产桌面操作系统+业务系统(包含postgresql、redis、nginx、JDK等)。其自行安装业务系统组件后(UOS1060专业版+postgresql),重启电脑无法进入系统,报错如下图:

客户怀疑是UOS系统不兼容导致,需我方协助安装相关组件。

因电脑已无法进入系统,所以由供应商重装1070专业版系统,之后我方远程安装postgresql等组件。

本文介绍基于W40P+UOS1070部署postgresql-14.2+postgis-3.2环境。

解决方案

有多种方式安装postgresql-14.2+postgis-3.2,最方便快捷的方式为apt安装,但是apt源上的组件版本不符合客户要求,如下图

所以本次选用源码方式进行安装。

一、准备部署环境

postgresql+postgis依赖大量的组件,因此需要电脑连接互联网,安装所需要的依赖源。

依次执行下面命令:

sudo apt updatesudo apt install -y build-essential libreadline-dev zlib1g-dev libxml2-dev libxslt-dev libssl-dev libicu-dev libldap2-dev libcurl4-openssl-dev libpam0g-dev uuid-devsudo apt install -y libgeos-devsudo apt install -y libproj-devsudo apt install -y protobuf-compiler libprotobuf-devsudo apt install -y libprotobuf-c-dev protobuf-c-compilersudo apt install -y gdal-bin libgdal-dev
二、下载、配置、编译并安装PostgreSQL

依次执行下面的命令:

wget https://ftp.postgresql.org/pub/source/v14.2/postgresql-14.2.tar.bz2tar xjf postgresql-14.2.tar.bz2cd postgresql-14.2./configure --prefix=/usr/local/pgsql --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt --with-icu --with-zlib --with-readlinemakesudo make install
三、初始化数据库、并测试启动
sudo useradd postgressudo mkdir -p /usr/local/pgsql/datasudo chown -R postgres:postgres /usr/local/pgsql/data/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data#测试启动PostgreSQL服务:/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

四、添加环境变量

为了方便管理,可以将PostgreSQL的二进制路径添加到系统的PATH环境变量中:

切换到所需的账号环境下执行下面命令:

echo 'export PATH=/usr/local/pgsql/bin:$PATH' >> ~/.bashrcsource ~/.bashrc
五、下载并安装 PostGIS 源代码

依次执行下面的命令:

wget https://download.osgeo.org/postgis/source/postgis-3.2.0.tar.gztar -zxf postgis-3.2.0.tar.gzcd postgis-3.2.0./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config --with-gdalconfig=/usr/bin/gdal-config --with-projdir=/usr --with-geosconfig=/usr/bin/geos-configmakesudo make install
六、为方便管理postgresql启停,把postgresql添加到系统服务中
sudo vim /etc/systemd/system/postgresql.service[Unit]Description=PostgreSQL database serverAfter=network.target[Service]Type=forkingUser=postgresGroup=postgresExecStart=/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -s -o "-p 5432" -w -t 300ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data -s -m fastExecReload=/usr/local/pgsql/bin/pg_ctl reload -D /usr/local/pgsql/data -sRestart=on-failure[Install]WantedBy=multi-user.target

保存并关闭文件,然后重新加载Systemd配置并启动服务:

sudo systemctl daemon-reloadsudo systemctl enable postgresqlsudo systemctl start postgresql

七、测试创建数据库并添加扩展

postgres中创建数据库并添加以下扩展,其中一个添加不上,就是上面图片的报错

createdb gx_eq_assessment;create extension postgis; create extension postgis_raster;create extension postgis_sfcgal; create extension postgis_topology; create extension fuzzystrmatch; create extension postgis_tiger_geocoder

至此,安装机创建数据库都已成功。

备注:因操作系统环境各异的原因,部署或建库过程可能会遇到各种报错,一般是缺依赖导致,按照报错提示,apt安装或源码安装缺的依赖即可解决报错问题。

http://www.lryc.cn/news/499709.html

相关文章:

  • 数字图像处理(16):RGB与HSV互转
  • web组态可视化编辑器
  • 数组 - 八皇后 - 困难
  • 【分布式】Redis分布式缓存
  • Ubuntu——extrepo添加部分外部软件源
  • 评估大语言模型(LLM)在分子预测任务能够理解分子几何形状性能
  • 如何查看电脑刷新率
  • mysql集群MHA方式部署
  • 第十七章 使用 MariaDB 数据库管理系统
  • rabbitmq 安装延时队列插件rabbitmq_delayer_message_exchange(linux centOS 7)
  • Unity性能优化---动态网格组合(一)
  • Appium:安装uiautomator2失败
  • 电子信息工程自动化 单片机彩灯控制
  • word poi-tl 表格功能增强,实现表格功能垂直合并
  • LSTM-CNN-BP-RF-SVM五模型咖喱融合策略混合预测模型
  • 《鸿蒙开发-答案之书》 怎么设置Json字段的别名
  • ftp服务器搭建-安装、配置及验证
  • 鸿蒙应用获取wifi连接的ip地址(官方文档获取的格式转换成192.168.1.xxx格式)
  • c++数据结构算法复习基础--11--高级排序算法-快速排序-归并排序-堆排序
  • 人工智能学习路线详细规划
  • 深度学习之视觉处理
  • 遇到问题:hive中的数据库和sparksql 操作的数据库不是同一个。
  • Spring Boot与Spring Security集成:前后分离认证流程的优化实践
  • 设计模式——Chain(责任链)设计模式
  • HarmonyOS(63) ArkUI 自定义占位组件NodeContainer
  • Python深度强化学习对冲策略:衍生品投资组合套期保值Black-Scholes、Heston模型分析...
  • 【opencv入门教程】2. Point()类用法
  • 前端导出excel实战(xlsx库和exceljs库)
  • 【附源码】基于环信鸿蒙IM SDK实现一个聊天Demo
  • Python库常用函数-数据分析