跨平台向量库:Linux & Windows 上一条龙部署 PostgreSQL 向量扩展

把"向量"塞进关系数据库,不再是机器学习工程师的专利。

PostgreSQL 加上 pgvector 扩展,一键就能把高维 Embedding 当成普通字段存、查、算距离;无论是给推荐系统找近似商品,还是让 LLM 做语义检索,整套流程都能回到熟悉的 SQL 世界。

可真正的坑往往从安装开始:Linux 的仓库版本太旧,Windows 的 DLL 又缺这缺那。

这篇博客就带你双线并行------左手 Ubuntu 24.04,右手 Windows 11------从 0 把 PGSQL 武装成高性能向量存储,让跨平台不再是一句口号,而是一条可复制粘贴的命令。

Linux系统安装PGSQL

1.安装PGSQL和配套扩展

1)更新系统并安装基础依赖(可选操作)

bash 复制代码
sudo apt update && sudo apt upgrade -y

2)安装PGSQL及其附属组件

bash 复制代码
sudo apt install postgresql postgresql-contrib -y

3)验证服务状态

bash 复制代码
sudo systemctl status postgresql

4)登录 PostgreSQL 控制台

系统默认会创建一个名为 postgres 的系统用户和数据库超级用户。

bash 复制代码
sudo -u postgres psql

5)设置管理员密码

bash 复制代码
ALTER USER postgres PASSWORD '你的密码';

退出pgsql控制台

bas 复制代码
\q

6)放开防火墙

云服务器放开5432端口

系统放开端口

bash 复制代码
sudo ufw allow 5432/tcp

7)允许远程连接(默认只允许本地连接)

编辑配置文件:

bash 复制代码
sudo nano /etc/postgresql/*/main/postgresql.conf

找到并修改:

listen_addresses = '*' # 默认是 localhost

修改认证方式

bash 复制代码
sudo nano /etc/postgresql/*/main/pg_hba.conf

添加一行:

host all all 0.0.0.0/0 md5

重启服务

bash 复制代码
sudo systemctl restart postgresql

8)使用Navicate连接数据库

安装完成


2. 安装PGVector插件

1)从GitHub中拉源码

bash 复制代码
git clone --branch v0.8.1 https://github.com/pgvector/pgvector.git

2)安装PGSQL的开发包

bash 复制代码
sudo apt install -y postgresql-server-dev-14

3)编译运行

bash 复制代码
cd pgvector
make
make install

安装完成

4)使用PGvector

sql 复制代码
CREATE EXTENSION IF NOT EXISTS vector;

查看应用的所有扩展:

sql 复制代码
SELECT name, default_version, installed_version, comment
FROM pg_available_extensions
WHERE installed_version IS NOT NULL
ORDER BY name;

注意:使用SpringAI进行开发时还需使用一下两个扩展

sql 复制代码
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS hstore

OK,Linux系统已经下载完成,接下来安装Windows系统的


Windows10/11安装PGSQL

1.安装PGSQL及其扩展

1)进入官网下载

EDB: Open-Source, Enterprise Postgres Database Management

PostgreSQL: Windows installers

2)打开安装文件,一路next下去

2. 安装PGvector

1)下载PGVectaor源码

vector: Open-source vector similarity search for Postgres / PostgreSQL Extension Network

2)在 Windows 上编译需要先下载 Visual Studio(巨恶心,推荐Linux系统)

3)安装完成后执行以下脚本

复制代码
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
cd C:\Users\xxx\Downloads\vector-0.7.3
set "PGROOT=C:\Program Files\PostgreSQL\16"
nmake /F Makefile.win
nmake /F Makefile.win install


2022\Community\VC\Auxiliary\Build\vcvars64.bat"
cd C:\Users\xxx\Downloads\vector-0.7.3
set "PGROOT=C:\Program Files\PostgreSQL\16"
nmake /F Makefile.win
nmake /F Makefile.win install
相关推荐
阿白的白日梦3 小时前
winget基础管理---更新/修改源为国内源
windows
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
埃博拉酱4 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code