irpas技术客

CentOS安装postgresql并扩展postgis:(亲测可用,安装环境:阿里云CentOS8.3 x64)_Andy511823558_postgis扩

网络投稿 1026

1、下载安装包 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm 2、禁用内置的PostgreSQL模块 sudo dnf -qy module disable postgresql 3、安装PostgreSQL:sudo dnf install -y postgresql13-server(yum install postgresql13) 4、初始化postgresql数据库 sudo /usr/pgsql-13/bin/postgresql-13-setup initdb 5、设置开机自启动 sudo systemctl enable postgresql-13 6、启动postgresql数据库 sudo systemctl start postgresql-13 7、修改密码:su - postgres ? | ? psql -U postgres ? | ? \password 然后输入两次密码(postgres)则设置成功(测试OK) 或者:登录数据库并修改密码 ?psql -h 192.168.110.133 -d postgres -U postgres -p 5432 ? ? ?| ? ? alter user postgres with password 'postgres'(未测试) 8、查看、启动、关闭、重启命令:systemctl status postgresql-13 | systemctl start postgresql-13 ? | ? systemctl stop postgresql-13 | systemctl restart postgresql-13 注:在执行psql脚本的时候报错psql: FATAL: Peer authentication failed for user,原因是因为当前在root用户,需要切换到su - postgres用户 9、PostgreSQL允许远程访问的设置方法:1、修改data/pg_hba.conf中,IPV4下添加host ?all ? ?all ? ?0.0.0.0/0 ? ?md5。2、修改postgresql.conf中,listen_addresses='*' 注:查看postgresql安装目录:systemctl status postgresql-13(CGroup第一行“-D”后面的目录) 10、重启服务,查看5432端口占用netstat -lntp(netstat -anp), 如果是127.0.0.1:5432说明远程访问未开启,如果是0.0.0.0:5432说明开启成功 11、云服务-配置云服务器安全组:开通5432端口(方法如下,否则远程telnet 39.105.147.226 5432不成功,远程pgadmin或navicat连接也不成功) 12、安装postgis:sudo yum install postgis31_13(版本号格式为:_前为postgis版本,后面为postgresql版本。yum list gdal*) CentOS安装PostGIS最方便的方法是用PostgreSQL源加上EPEL源,直接yum安装,无痛解决依赖问题。由于PostGIS所依赖的包比较多,有些在CentOS官方源中没有,所以需要使用EPEL源。 PostGIS是PostgreSQL的一个插件,需要注意其版本匹配关系,详细的版本匹配关系可以在官网(https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS)上找到。 安装成功后可以在/usr/pgsql-13/share/extension中看到相关的扩展 13、创建PostGIS扩展:切换到操作系统的postgres用户sudo -i -u postgres,连接到数据库-bash-4.2$ psql -d mydb,新建扩展scgis=# CREATE EXTENSION postgis;(必须有分号) 验证PostGIS版本: # SELECT PostGIS_version(); ? # SELECT postgis_full_version(); ? ? ?验证PostgreSQL的版本:# select version(); ? ? ?查看扩展:select * from pg_extension; select count(*) from spatial_ref_sys ;

问题:如果在安装postgis的过程中遇到报Requires: libdapclient.so.6()(64bit)的错误,原因是因为postgis需要依赖gdal,gdal又依赖libdapclient.so,但是yum在仓库中没有找到libdapclient.so 解决方法:1.安装epel源: dnf -y install epel-release;2.安装config-manager插件:sudo yum install dnf-plugins-core ?3.启用PowerTools:sudo dnf config-manager --set-enabled powertools。(验证是否已成功启用PowerTools:$ dnf repolist;查看PowerTools资源库中可用的软件包列表:$ dnf repo-pkgs powertools list) 注:在CentOS/RHEL 8系统服务器上提供的PowerTools资源库提供了开发者相关的工具和库。一些常见的EPEL包依赖于PowerTools提供的包,因此,如果你在CentOS系统上设置了EPEL库,建议你启用PowerTools库。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #postgis扩展安装 #1下载安装包 #sudo #DNF #install #y