【服务器二】下载拓展成功

接上文。玩转(坏)服务器【一】-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 仓库),而gccmake已经装好了(显示 "已安装并且是最新版本"),咱们只需要补装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

终于终于!哎 真的要哭了呜呜┭┮﹏┭┮

算是结束了吧,中途太乱了不想总结~

相关推荐
xywww1683 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
梦想的颜色6 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
欢呼的太阳7 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
夜雪一千8 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
donoot8 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
ITKEY_9 小时前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
Elastic 中国社区官方博客9 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
大E帝国子民110 小时前
MacOS 安装Seismic Unix
服务器·macos·unix
Tim_Van10 小时前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
德福危险10 小时前
富有想象力的XSS盲打:靶机练习之Tempus_fugit5
服务器·网络·xss