在Centos系统源码安装postgreSQL数据库及postGIS扩展

这篇具有很好参考价值的文章主要介绍了在Centos系统源码安装postgreSQL数据库及postGIS扩展。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装前
PostGIS扩展通常需要安装一些依赖项。
1.GDAL: PostGIS需要GDAL(Geospatial Data Abstraction Library)来处理地理空间数据格式。
2.GEOS: GEOS(Geometry Engine - Open Source)是一个用于处理地理空间数据的C++库。
3.Proj: Proj是用于地图投影的库。

postgreSQL与postGIS插件的版本支持关系
在Centos系统源码安装postgreSQL数据库及postGIS扩展,数据库,centos,postgresql版本对应关系详情

本次安装的各版本如下
postgresql-13.0.tar
geos-3.9.0
gdal-2.4.4
proj-7.2.1
postgis-3.0.10

一、安装postgreSQL

1.1安装

包下载地址
选postgresql-13.0.tar.gz。
使用工具将下载好的包传到服务器。
解压 ,进入解压目录

tar -zxvf postgresql-13.0.tar.gz 
cd postgresql-13.0

./configure
这一步不成功看下面解决方法
make
make install
adduser postgres

./configure --prefix=/usr/local/postgresql
这一步不成功看下面解决方法
make
make install
#创建用户
adduser postgres
#修改目录的所有者为postgres用户
chown -R postgre:postgre /usr/local/postgresql
su - postgres

环境变量配置
编辑/etc/profile 文件 在最后插入如下两行

export PGHOME=/usr/local/postgresql
export PATH=$PATH:$PGHOME/bin

编辑完执行使其生效

source /etc/profile

1.2启动数据库服务、登录

切换到刚刚创建的postgres用户、切换到安装的目录bin下

su postgres
cd /usr/local/postgresql/bin
#初始化数据库
./initdb -D /usr/local/postgresql/data -U postgre --encoding=UTF8 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8

启动数据库服务

./pg_ctl -D /usr/local/postgresql/data/ start

登录数据库

psql -U postgres -d postgres -h 127.0.0.1 - p 5432

修改密码

\password

连续输入两次密码,第一次输入、第二次确认。

1.3修改配置

修改配置文件
/usr/local/postgresql/data/postgresql.conf
添加

listen_addresses = '*'
port = 5432

pg_hba.conf
添加

host    all               all             0.0.0.0/0           md5

重启数据库生效

/usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data/  restart

二、依赖安装

2.1安装Proj4

包下载地址
解压,进入解压目录

tar -zxvf proj-7.2.1.tar.gz
cd /proj-7.2.1

生成配置、构建

./configure --prefix=/usr/local/postgresql/plugin/proj
make
make install

2.2安装GEOS

包下载地址
解压,进入解压目录

tar -xvf geos-3.9.0.tar.bz2
cd geos-3.9.0/

使用autoconf工具 用configure.ac 文件生成 configure 脚本。
执行命令:

autoconf

生成configure 脚本,生成配置、构建。

./configure --prefix=/usr/local/postgresql/plugin/geos
make
make install

2.3gdal安装

包下载地址
解压,进入解压目录

tar -zxvf gdal-2.4.4.tar.gz
cd gdal-2.4.4/

生成configure 脚本,生成配置、构建。

./configure --prefix=/usr/local/postgresql/plugin/gdal
make
make install

2.4postgis安装

包下载地址
解压,进入解压目录

tar -zxvf postgis-3.0.10.tar.gz
cd postgis-3.0.10/

生成configure 脚本,生成配置、构建。

./configure --prefix=/usr/local/postgresql/plugin/postgis --with-pgconfig=/usr/local/postgresql/bin/pg_config --with-geosconfig=/usr/local/postgresql/plugin/geos/bin/geos-config --with-projdir=/usr/local/postgresql/plugin/proj --with-gdalconfig=/usr/local/postgresql/plugin/gdal/bin/gdal-config
make
make install

2.4检查PostGiS是否安装成功

加载 PostGIS 扩展:

CREATE EXTENSION postgis;
#检查PostGIS 的版本信息
SELECT postgis_full_version();

在Centos系统源码安装postgreSQL数据库及postGIS扩展,数据库,centos,postgresql

三、安装过程中遇到的问题汇总

configure: error: readline library not found
解决方案

configure: error: could not find pg_config within the current path. You may need to re-run configure with a --with-pgconfig parameter.
执行:

./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config

configure: error: Package requirements (libxml-2.0) were not met:
No package ‘libxml-2.0’ found
执行:

sudo yum install libxml2-devel

configure: error: could not find geos-config within the current path. You may need to try re-running configure with a --with-geosconfig parameter.
执行

yum install geos geos-devel

configure: error: readline library not found
If you have readline already installed, see config.log for details on the
failure. It is possible the compiler isn’t looking in the proper directory.
Use --without-readline to disable readline support.
安装readline 库及其开发文件:

sudo yum install readline readline-devel

checking for SQLITE3… configure: error: Package requirements (sqlite3 >= 3.11) were not met:
解决方法:

sudo yum update
sudo yum install sqlite sqlite-devel

checking for TIFF… configure: error: Package requirements (libtiff-4) were not met:
解决方法:

sudo yum install libtiff libtiff-devel

configure: error: curl not found. If wanting to do a build without curl support (and thus without built-in networking capability), explictly disable it with --without-curl
解决方法:

sudo yum install curl libcurl-devel

jpeg2000dataset.cpp:40:10: fatal error: jasper/jasper.h: No such file or directory
#include <jasper/jasper.h>
^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** […/…/GDALmake.opt:670: …/o/jpeg2000dataset.lo] Error 1
解决方法:
https://www.jianshu.com/p/e19b3da3e63a

configure: error: Package requirements (libxml-2.0) were not met:
Package ‘libxml-2.0’, required by ‘virtual:world’, not found

sudo yum install libxml2 libxml2-devel

ERROR: could not load library “/usr/local/postgresql/lib/postgis-3.so”: libgeos_c.so.1: cannot open shared object file: No such file or directory
解决方法:

find / -name "libgeos_c.so.1"
/usr/local/postgresql/plugin/geos/lib/libgeos_c.so.1
#将查询到的文件路径写入到/etc/ld.so.conf文件中
echo "/usr/local/postgresql/plugin/geos/lib" >> /etc/ld.so.conf
ldconfig

ERROR: could not load library “/usr/local/postgresql/lib/postgis-3.so”: libproj.so.19: cannot open shared object file: No such file or directory
解决方法:文章来源地址https://www.toymoban.com/news/detail-859909.html

find / -name "libgeos_c.so.1"
/usr/local/postgresql/plugin/proj/lib/libproj.so.19
#将查询到的文件路径写入到/etc/ld.so.conf文件中
echo "/usr/local/postgresql/plugin/proj/lib/" >> /etc/ld.so.conf
ldconfig

到了这里,关于在Centos系统源码安装postgreSQL数据库及postGIS扩展的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据库】什么是 PostgreSQL?开源数据库系统

    PostgreSQL 是一个开源的对象关系数据库系统,本文,我们将讨论 PostgreSQL、它的用途和好处。 PostgreSQL 是由 PostgreSQL Global Development Group 开发的高级 开源关系数据库管理系统(RDBMS) 。它作为 POSTGRES 项目的一部分于 1986 年在加州大学伯克利分校启动,它最初于 1996 年 7 月 8 日发布

    2023年04月08日
    浏览(48)
  • Linux系统之安装PostgreSQL数据库

    PostgreSQL (也叫 Postgres) 是一个自由的对象 - 关系数据库服务器 (数据库管理系统),它在灵活的 BSD - 风格许可证下发行。它提供了相对其他开放源代码数据库系统 (比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server 的一种选择。 它是ORDBMS(面向对

    2024年02月06日
    浏览(38)
  • [Linux][CentOs][Mysql]基于Linux-CentOs7.9系统安装并配置开机自启Mysql-8.0.28数据库

    目录 一、准备工作:获取安装包和相应工具 (一)所需安装包 (二)安装包下载链接 (三)在服务器上创建文件夹并上传安装包 二、安装MySql (一)删除系统自带的mariadb (二)安装MySQL依赖包libaio (三)创建MySQL组和用户并设置密码 (四)将MySQL目录的权限授给MySQL用户

    2024年03月25日
    浏览(61)
  • 基于SpringBoot 2+Layui实现的管理后台系统源码+数据库+安装使用说明

    一个基于SpringBoot 2 的管理后台系统,包含了用户管理,组织机构管理,角色管理,功能点管理,菜单管理,权限分配,数据权限分配,代码生成等功能 相比其他开源的后台系统,SpringBoot-Plus 具有一定的复杂度 系统基于Spring Boot2.1技术,前端采用了Layui2.4。数据库以MySQL/Oracle

    2024年02月04日
    浏览(55)
  • Docker环境安装Postgresql数据库Posrgresql 15.6

    宿主机是ubuntu 22.04版本 ubuntu宿主机上安装docker ,参见官方文档https://docs.docker.com/engine/install/ubuntu/, docker-ce是社区版 docker-ee是企业版 1、检查Docker是否安装 2、查看Docker各个版本,也可以参见https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/ 3、设置 Docker的apt仓库 4、安装

    2024年04月17日
    浏览(50)
  • DBeaver数据库管理工具安装连接PostgreSQL和DM

    1. 安装 下载地址 https://dbeaver.io/download/ 2. 连接PostgreSQL 配置显示所有数据库 第二个勾选会显示模板数据库 点击 测试连接 ,然后下载驱动 连接成功 3. 连接DM8 3.1 下载驱动 地址 https://eco.dameng.com/document/dm/zh-cn/app-dev/java_Mybatis_frame.html 下载完成解压,将需要的 DmJdbcDriver18.jar 放到

    2024年02月16日
    浏览(53)
  • PGSQL(PostgreSQL)数据库基础篇:PostgreSQL 的 主要优点 、 劣势 、体系结构 、核心功能 、安装教程。

    1.维护者是PostgreSQL Global Development Group,首次发布于1989年6月。 2.操作系统支持WINDOWS、Linux、UNIX、MAC OS X、BSD。 3.从基本功能上来看,支持ACID、关联完整性、数据库事务、Unicode多国语言。 4.表和视图方面,PostgreSQL支持临时表,而物化视图,可以使用PL/pgSQL、PL/Perl、PL/Python或其

    2024年04月26日
    浏览(65)
  • [AIGC] MySQL与PostgreSQL:两种流行的数据库系统的对比

    数据库是存储和查询数据的重要工具。在选择数据库时,两个经常被考虑的选项都是开源的:MySQL和PostgreSQL。这两个数据库都与许多应用程序一起使用,但它们在某些方面存在显著的不同。在本文中,我们将比较MySQL和PostgreSQL的一些关键特性。 MySQL是一种关系数据库管理系统

    2024年04月12日
    浏览(56)
  • PostgreSQL 16数据库的yum、编译、docker三种方式安装——筑梦之路

    随手一记:生成密码的密文sha256加密

    2024年02月07日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包