Centos8 安装 postgresql 13 和 postgis3,以及总结遇到的问题
- 安装环境
- 安装过程
- 安装postgres
- 安装postgis
- 遇到问题
- PROJ 6 symbols not found
- SQLITE3_CFLAGS and SQLITE3_LIBS environment variables
- the pgxs makefile /usr/lib64/pgsql/pgxs/src/==makefiles/ cannot be found==
- please install the ==postgresql server development packages== and re-run configure
- 安装成功
最近搞了一台服务器,配置不高,所以选择linux系统。之前从来没玩过linux,安装postgres花费了不少时间。记录一下安装过程和遇到的问题,希望对类似问题有所帮助。
postgre 和 postgis 网上教程很多,本文不详细介绍安装过程,经过踩坑排雷,这里推荐几个靠谱博客,另外记录过程中搜遍百度和google都找不到的奇葩问题。
安装环境
华为云:centos8
postgis 3 所需依赖:
sqlite-autoconf-3370000proj-6.3.2geos-3.9.2gdal-3.4.0json-c-0.9
依赖关系Postgres13 需要 postgis3.* (本文3.1.4)Postgis3.* 依赖 >= gdal 3.3.1 (本文3.4.0)gdal3.3.1 依赖 proj6.*(本文6.3.2)proj6.* 依赖 sqlite3(本文sqlite-autoconf-3330000)
安装过程
安装postgres
postgresql 比较容易,基本按照官网来就行,安装过程中基本没遇到问题,这里不做详细介绍。
这里推荐官方教程
官方教程
或者
国外教程
本文参照了官方教程 和 Linux安装 PostgreSQL
安装postgis
postgis由于依赖很多前置环境,尤其是新版(postgres13+postgis3),安装过程遇到很多问题。
这里推荐官方教程
官方安装过程
或者
Linux(CentOS)编译安装GDAL3.0.4+Postgresql 12.2+Postgis-3.0.1
本文参照(因版本问题,这里不推荐参照此博客)
PostgreSQL&PostGIS完全安装
遇到问题
PROJ 6 symbols not found
问题很明了,proj6 未安装,或者版本低 或者 未配置环境变量。
解决办法: 安装proj6
proj6安装成功之后,安装postgis3 的时候,位置指定正确即可 --with-projdir=/usr/local/pgsql/plugin/proj(安装路径)
SQLITE3_CFLAGS and SQLITE3_LIBS environment variables
问题:SQLITE3 未安装,或者为配置环境变量。
安装SQLITE3
the pgxs makefile /usr/lib64/pgsql/pgxs/src/makefiles/ cannot be found
please install the postgresql server development packages and re-run configure
这个问题花费了太多时间,已经打算重装postgres9.6的时候,终于解决了。
原因是没有安装postgresql 服务开发包,受一些博客的误导,还有官方资源的变化,导致安装的时候找不到资源。
如:sudo apt-get install postgresql-server-dev-9.3 和:yum install postgresql-server-dev-13 和:sudo apt-get install postgresql-server-dev-all 和:sudo apt-get install postgresql-common
解决办法:
使用正确官方资源:
yum install postgresql13-devel
安装成功


参考博客:Linux安装 PostgreSQLPostgreSQL&PostGIS完全安装gdal-3.1.2 linux(Ubuntu) 编译 附SQLite3 PROJ6编译Proj之编译、安装
















