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

搭建PG库和安装pgvector、pgRouting插件

同事整理的分享:

搭建PG库和安装pgvector、pgRouting插件

所需软件

版本

下载地址

Postgresql

15.12

PostgreSQL: Linux downloads (Red Hat family)

Pgrouting

3.7.3

https://github.com/pgRouting/

pgrouting/releases/tag/v3.7.3

Boost

1.71

https://archives.boost.io/release/

1.71.0/source/boost_1_71_0.tar.gz

cmake

3.15

https://github.com/Kitware/CMake/rel

eases/download/v3.15.5/cmake-3.15.5.tar.gz

Pgvector

0.8.0

https://github.com/pgvector/pgvector

安装步骤

1.安装pg库

1.1 安装rpm存储库

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

1.2 安装pg库

yum install -y postgresql15-server  遇到报错

解决方法:

wget https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/libzstd-1.5.5-1.el7.x86_64.rpm

yum install -y ./libzstd-1.5.5-1.el7.x86_64.rpm

重新安装pg库

yum install -y postgresql15-server

1.3初始化pg库

/usr/pgsql-15/bin/postgresql-15-setup initdb

1.4修改pg库配置文件

vi /var/lib/pgsql/15/data/postgresql.conf

开启远程访问,将listen_address 修改为 * ,端口号根据情况更改

vi /var/lib/pgsql/15/data/pg_hba.conf

添加

host    all             all             0.0.0.0/0               md5

host    replication     all             ::1/128                 scram-sha-256

1.5启动数据库和设置开机自启动

systemctl start postgresql-15

systemctl enable postgresql-15

1.6 PG库修改密码

ALTER USER postgres WITH PASSWORD 'linux123.';

systemctl restart postgresql-15

1.7测试连接

2.安装插件pgvector

2.1克隆仓库到本地

cd /tmp

git clone --branch v0.8.0 https://github.com/pgvector/pgvector.git

cd pgvector/

2.2编译并安装

make && make install

出现报错

原因,没有装postgresql15-devel

解决办法:

wget https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/llvm5.0-5.0.1-7.el7.x86_64.rpm

wget https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/llvm5.0-devel-5.0.1-7.el7.x86_64.rpm

wget https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/llvm5.0-libs-5.0.1-7.el7.x86_64.rpm

yum install -y centos-release-scl-rh llvm5*

在安装完centos-release-scl-rh之后会出现一个错误

安装时会报错源的问题

解决方法:对CentOS-SCLo-scl-rh.repo进行修改

vi CentOS-SCLo-scl-rh.repo

# 修改

[centos-sclo-rh]

name=CentOS-7 - SCLo rh

baseurl=http://vault.centos.org/centos/7/sclo/$basearch/rh/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

修改后如果发现依旧无法使用,将CentOS-SCLo-scl.repoyum源进行修改

vi CentOS-SCLo-scl.repo

# 修改

[centos-sclo-sclo]

name=CentOS-7 - SCLo sclo

baseurl=http://vault.centos.org/centos/7/sclo/$basearch/rh/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

改完之后

yum clean all

yum makecache

参考文档:centos7中安装了centos-release-scl后,之前的yum源变为不可用 解决方案-CSDN博客

重新安装postgresql15-devel

安装完之后重新进入目录

make

出现以下报错是因为没有安装gcc

yum -y install gcc gcc-c++ libstdc++-devel

安装完之后

2.3创建pgvector

su – postgres

create database test;

\c test

CREATE EXTENSION vector;

3.安装插件pgrouting

3.1上传并解压安装包

cd /tmp

tar -zxvf pgrouting-3.7.3.tar.gz

3.2创建构建目录并配置cmake

mkdir build

cmake -DCMAKE INSTALL PREFIX/usr/local/pgrouting-3.7.3 ..

出现报错

原因:没有安装cmake

不能直接安装cmake不然会出现

wget https://github.com/Kitware/CMake/releases/download/v3.15.5/cmake-3.15.5.tar.gz

tar -zxvf cmake-3.15.5.tar.gz

./bootstrap

make && make install

安装完之后重新cmake

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/pgrouting-3.7.3 ..

3.3编译并安装

编译之前需要安装依赖环境

我之前安装了boost高版本1.8.7之后make报错

需安装合理范围内依赖

tar -zxvf boost_1_71_0.tar.gz

./bootstrap.sh

./b2 install --with=all

安装好boost依赖环境后make

make

又出现报错

解决方法:yum -y install 'perl(version)' perl-Data-Dumper

参考文档:centos7 pgrouting351_cant locate version.pm-CSDN博客

重新make

make

make install

3.4创建pgrouting插件

su – postgres

\c test

CREATE EXTENSION pgrouting;

创建时发现还需创建postgis

3.4.1创建postgis

yum install epel-release

yum list postgis* (查看自己适合的posgis版本,我是pg15.12版本,所以选择安装postgis33_15)

yum install postgis33_15

安装完之后创建postgis

su – postgres

\c test

create extension postgis;

创建完postgis之后重新创建pgrouting

CREATE EXTENSION pgrouting;

\dx

相关文章:

  • uniapp 微信小程序图片下载保存功能
  • TypeScript 泛型 < T > 从入门到精通
  • 可视化图解算法:删除有序(排序)链表中重复的元素
  • 基于AOP注解+Redisson实现Cache-Aside缓存模式实战
  • 春日焕新居:约克VRF中央空调,科技赋能,带你开启健康呼吸新时代
  • 力扣题目分享:只出现1次的数字I II III(位运算版)
  • 宝塔docker flarum默认登录账号密码,crazymax/flarum镜像默认登录账号密码
  • 蓝桥杯算法题分享(二)
  • 从 Copilot 到垂直工具:AI 编程的 “专精特新“ 进化论
  • 用python写网络爬虫
  • 如何用Spring AI构建MCP Client-Server架构
  • 动手实践:单机安装高性能列式存储数据库ClickHouse
  • 根据模板将 Excel 明细数据生成 PDF 文档 | PDF实现邮件合并功能
  • 大数据学习(85)-Flume详解
  • mysql学习-索引规则
  • 蓝桥杯 回文字符串
  • 09_JavaScript数据操作方法_数组2
  • 基于Zookeeper的微服务配置管理与灰度发布实战指南
  • WEB API 设计规范
  • Leetcode——1047. 删除字符串中的所有相邻重复项
  • “美诚月饼”佛山生产公司已注销,涉小杨哥带货“香港传统品牌”产地争议事件
  • 是否担心关税战等外部因素冲击中国经济?外交部:有能力、有条件、有底气
  • 商务部新闻发言人就美国企图全球禁用中国先进计算芯片发表谈话
  • 哪都“差一点”的《歌手2025》,还能爆吗?
  • 不止是生态优势,“浙江绿谷”丽水有活力
  • 一座与人才共成长的理想之城,浙江嘉兴为何如此吸引人?