BCLinux安装PostGreSQL与PostGIS报错but none of the providers can be installed

一、国产化系统说明

        国产化系统迁移,使用BCLinux,版本8.2,安装关系型数据库PostgreSQL16存储空间数据数据,安装PostGIS14空间数据库。

二、安装部署

配置yum源

首先配置yum源,在系统/etc/yum.repo.d目录下创建文件gis.repo,当然gis可以随意命名。

文件内容为:

[gis]

name=gis

baseurl=file:///mnt/Postgres

enable=1

gpgcheck=0

其中baseurl为yum包的地址,也可以为远程端地址,ps:

[AppStream]

name=BC-Linux-8.2 AppStream

baseurl=http://mirrors.bclinux.org/bclinux/el8.2/AppStream/$basearch/os/

gpgcheck=0

enabled=1

本地yum源配置需要安装createrepo命令,在baseurl配置的路径下执行:createrepo .

(注意:命令后有个点)

createrepo命令安装需要拓展3个包,分别是:

1.drpm-0.4.1-1.el8.x86_64.rpm

2.createrepo_c-libs-0.15.1-2.el8.x86_64.rpm

3.createrepo_c-0.15.1-2.el8.x86_64.rpm

分别通过rpm -ivh *.rpm安装,*为包名。

成功后进入 /mnt/Postgres目录,执行 createrepo .

创建本地repodata文件夹及repomd.xml

执行 yum clean all 与 yum makecache 命令来清除缓存与建立缓存

安装PostGreSQL

  1. 执行命令安装postgresql:

yum -y install postgresql16  postgresql16-server  postgresql16-contrib

  1. 初始化数据库(以下路径为默认安装路径):

cd /usr/pgsql-16/bin

postgresql-16-setup initdb

  1. 启动数据库:

systemctl enable postgresql-16

systemctl start postgresql-16

systemctl stop postgresql-16

  1. 配置用户:

passwd postgres   --修改postgres密码******

su postgres

  1. 修改配置,配置pg_hba.conf与postgresql.conf监听:

(1)找到/var/lib/pgsql/16/data下pg_hba.conf,修改其内容

host    all             all             127.0.0.1/32            ident

增加host    all             all             0.0.0.0/0               trust

(2) 修改/var/lib/pgsql/14/data下postgresql.conf,监听地址为*,端口为5432

(3)重启postgresql-16服务

  1. 切换到root账户,重启服务

systemctl restart postgresql-16

安装PostGIS

  1. 执行命令安装postgis:

yum -y install postgis34_16  postgis34_16-client

  1. 创建数据库:

su postgres

psql

create user sde with password '*******';

CREATE DATABASE postgis OWNER sde;

grant all privileges on database postgis to sde;

  1. 切换postgis,安装PostGis拓展:

\c postgis

SELECT postgis_full_version(); --验证是否安装成功

  1. 创建视图:

-- Enable PostGIS (includes raster)

CREATE EXTENSION postgis;

-- Enable Topology

CREATE EXTENSION postgis_topology;

-- Enable PostGIS Advanced 3D

-- and other geoprocessing algorithms

-- sfcgal not available with all distributions

CREATE EXTENSION postgis_sfcgal;

-- fuzzy matching needed for Tiger

CREATE EXTENSION fuzzystrmatch;

-- rule based standardizer

CREATE EXTENSION address_standardizer;

-- example rule data set

CREATE EXTENSION address_standardizer_data_us;

-- Enable US Tiger Geocoder

CREATE EXTENSION postgis_tiger_geocoder;

(ps:在服务端执行CREATE EXTENSION fuzzystrmatch;可能会报错,换在远程客户端执行就可以通过了)

数据迁移

执行shell脚本进行迁移

先决条件:网络通畅

1.先导出:

pg_dump -U postgres -h 对端ip -p 5432 -d postgis --if-exists -c -F c -b -v -f postgis.dmp

2.导入:

pg_restore -U postgres -d postgis postgis.dmp 

可以写成.sh执行脚本,直接运行

卸载

yum remove postgresql*

rpm -qa | grep postgresql

三、问题说明

执行安装包以及创建本地yum源报错少包时,需要复制缺少的包名或文件到rpm搜索实际归属的包,到实际的镜像源地址中下载。

序号

镜像源/网站

Url

1

Rpm查询网站

http://www.rpmfind.net/linux/rpm2html/search.php?query=lyx-fonts&submit=Search+...&system=&arch=

2

阿里云AppStream

https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/?spm=a2c6h.25603864.0.0.43b755dfX5cJ8a

3

阿里云PowerTools

https://mirrors.aliyun.com/centos/8-stream/PowerTools/x86_64/os/Packages/?spm=a2c6h.25603864.0.0.2b6f64b6Hi6dYZ

4

阿里云BaseOS

https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/Packages/?spm=a2c6h.25603864.0.0.41513293DBnVWB

5

阿里云Epel

https://mirrors.aliyun.com/epel/8/Everything/x86_64/Packages/l/?spm=a2c6h.25603864.0.0.45ce34e2jswbpp

6

阿里云centos-vault旧版

http://mirrors.aliyun.com/centos-vault/8.2.2004/AppStream/x86_64/os/Packages/?spm=a2c6h.25603864.0.0.26485483ibo9T5

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值