接上文。玩转(坏)服务器【一】-CSDN博客
当我在EPEL 源地址失效,但pgvector 编译只需要 Base 源里的 3 个核心依赖,完全可以绕开 EPEL;
- 关键命令:
- 装核心依赖:yum install -y postgresql13-devel gcc make –disablerepo=epel;
CentOS 7 的 Base 源里没有postgresql13-devel这个包(PG13 不是 CentOS 7 官方默认版本,这个包不在 Base 源里,需要先添加 PostgreSQL 官方的 PGDG 仓库),而gcc和make已经装好了(显示 “已安装并且是最新版本”),咱们只需要补装postgresql13-devel就行!
第一步:先解释报错
| 没有可用软件包 postgresql13-devel | Base 源里找不到这个包,因为 PG13 是 PostgreSQL 官方维护的,不是 CentOS 官方包 |
| 软件包 gcc-4.8.5-44.el7.x86_64 已安装并且是最新版本 | gcc 编译器已经装好了,不用再装 |
| 软件包 1:make-3.82-24.el7.x86_64 已安装并且是最新版本 | make 工具也装好了,不用再装 |
| 无须任何处理 | 除了 postgresql13-devel,其他依赖都满足 |
第二步:解决方案(添加 PG 官方仓库,装 postgresql13-devel)
PostgreSQL 官方提供了专门的 PGDG 仓库,里面有所有版本的 PG 开发包,咱们先添加这个仓库,再装包:
步骤 1:下载并安装 PGDG 仓库配置包(CentOS 7 适配)
# 下载PGDG仓库包(适配CentOS 7)
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 安装仓库包(添加PG官方源)
rpm -ivh pgdg-redhat-repo-latest.noarch.rpm –nodeps
- 含义:
- wget:下载 PG 官方的仓库配置文件;
- rpm -ivh:安装 rpm 包,–nodeps跳过依赖检查(避免和系统现有包冲突);
- 效果:执行后会在/etc/yum.repos.d/里添加 PG 官方的源配置,yum 就能找到 postgresql13-devel 了
不过这个服务器没有下载wget,于是换用下面语句:
curl -o /root/pgdg-repo.rpm https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
总之兜兜转转,我也不知道问题为什么会这么多,头也有点痛了,其实本来并不应该这么困难,但是中途报错,什么yum源呀等等,总之最后时刻的一些语句是大道至简如下:
sudo yum install pgvector_13
下载完之后记得更新pg,如下:
# 查看PG13服务名(不同系统可能略有差异)
sudo systemctl list-unit-files | grep postgresql-13
# 重启PG13服务(通用命令)
sudo systemctl restart postgresql-13
# 确认服务启动成功
sudo systemctl status postgresql-13
后面就是进入pg操作拓展
# 1. 切换到postgres系统用户 sudo su – postgres (后面还有一步psql)
# 2. 登录PG13(确保是13版本,不是其他版本) psql -U postgres
# 3. 先确认当前PG版本(必须是13!) postgres=# SELECT version();
# 输出里要能看到「PostgreSQL 13.x」,如果是12/14等,说明登错版本了
# 4. 重新执行创建扩展(务必带分号!)
postgres=# CREATE EXTENSION vector;
# 成功会提示:CREATE EXTENSION
# 5. 验证扩展 postgres=# \\dx vector;
退出 \\q ctrl + d
终于终于!哎 真的要哭了呜呜┭┮﹏┭┮

算是结束了吧,中途太乱了不想总结~
网硕互联帮助中心








评论前必须登录!
注册