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

在 Linux 上安装 `pgvector`(这是一个 PostgreSQL 的向量类型扩展,常用于处理嵌入向量,便于进行向量相似度搜索)

1. 安装 PostgreSQL

确保你已经安装好 PostgreSQL 数据库。

例如在 Ubuntu 上:

sudo apt update
sudo apt install postgresql postgresql-contrib

2. 安装依赖

pgvector 扩展用的是 makegcc 等开发工具,因此你需要先安装 PostgreSQL 的开发包和编译工具:

Ubuntu/Debian 系统:

sudo apt install postgresql-server-dev-all git make gcc

CentOS/RHEL 系统:

sudo dnf install postgresql-devel git make gcc

3. 安装 pgvector

方式一:从源码安装(推荐方式)

# 克隆 pgvector 的源码仓库
git clone https://github.com/pgvector/pgvector.git
cd pgvector# 编译并安装
make
sudo make install

方式二:通过包管理(部分发行版或已有 PGDG 源)

某些 Linux 发行版仓库已经有了 pgvector 包:

Ubuntu(如果已添加 PostgreSQL 官方仓库):

sudo apt install postgresql-15-pgvector

请把 15 替换为你的 PostgreSQL 版本(如 14、16 等)


4. 在数据库中启用 pgvector

连接到你的数据库,例如用 psql

sudo -u postgres psql   # 或
psql -h <host> -U <user> -d <database>

然后在你要使用的数据库中运行:

CREATE EXTENSION IF NOT EXISTS vector;

5. 测试

为表添加一个向量字段、向量检索等操作(举例):

CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));
INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]');
SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 1;

参考

  • 官方仓库: https://github.com/pgvector/pgvector


如需用 Docker,可以参考官方文档或 issue,部分 Postgres 镜像已经集成了 pgvector 扩展。

如有具体报错或需求(如编译报错、PostgreSQL 版本问题)欢迎补充说明!

http://www.lryc.cn/news/2401087.html

相关文章:

  • 09.MySQL内外连接
  • Python爬虫实战:研究Scrapy-Splash库相关技术
  • 智能升级:中国新能源汽车充电桩规模化建设与充电桩智慧管理方案
  • AlphaFold3服务器安装与使用(非docker)(1)
  • 接口自动化测试之pytest接口关联框架封装
  • M1安装并使用Matlab2024a进行java相机标定
  • 02-Redis常见命令
  • 【论文阅读笔记】Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation
  • 使用ArcPy进行栅格数据分析
  • 华为OD机试真题——告警抑制(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • Java转Go日记(五十七):gin 中间件
  • 《树数据结构解析:核心概念、类型特性、应用场景及选择策略》
  • 在本地查看服务器上的TensorBoard
  • 硬件开发全解:从入门教程到实战案例与丰富项目资源
  • 嵌入式学习笔记 - freeRTOS的两种临界禁止
  • 202403-02-相似度计算 csp认证
  • 【Oracle】游标
  • MySQL 中 char 与 varchar 的区别
  • DeepSeek 赋能智能零售,解锁动态定价新范式
  • 在Flutter中定义全局对象(如$http)而不需要import
  • <4>, Qt窗口
  • 6.04打卡
  • 【基于SpringBoot的图书购买系统】操作Jedis对图书图书的增-删-改:从设计到实战的全栈开发指南
  • Ubuntu中TFTP服务器安装使用
  • Spring Boot微服务架构(十):Docker与K8S部署的区别
  • 接口重试的7种常用方案!
  • vue3:Table组件动态的字段(列)权限、显示隐藏和左侧固定
  • pikachu靶场通关笔记13 XSS关卡09-XSS之href输出
  • MCP客户端Client开发流程
  • 学习日记-day21-6.3