跨平台向量库:Linux Windows 上一条龙部署 PostgreSQL 向量扩展
把“向量”塞进关系数据库,不再是机器学习工程师的专利。
PostgreSQL 加上 pgvector 扩展,一键就能把高维 Embedding 当成普通字段存、查、算距离;无论是给推荐系统找近似商品,还是让 LLM 做语义检索,整套流程都能回到熟悉的 SQL 世界。
可真正的坑往往从安装开始:Linux 的仓库版本太旧,Windows 的 DLL 又缺这缺那。
这篇博客就带你双线并行——左手 Ubuntu 24.04,右手 Windows 11——从 0 把 PGSQL 武装成高性能向量存储,让跨平台不再是一句口号,而是一条可复制粘贴的命令。
Linux系统安装PGSQL
1.安装PGSQL和配套扩展
1)更新系统并安装基础依赖(可选操作)
sudo apt update && sudo apt upgrade -y
2)安装PGSQL及其附属组件
sudo apt install postgresql postgresql-contrib -y
3)验证服务状态
sudo systemctl status postgresql
4)登录 PostgreSQL 控制台
系统默认会创建一个名为 postgres
的系统用户和数据库超级用户。
sudo -u postgres psql
5)设置管理员密码
ALTER USER postgres PASSWORD '你的密码';
退出pgsql控制台
\q
6)放开防火墙
云服务器放开5432端口
系统放开端口
sudo ufw allow 5432/tcp
7)允许远程连接(默认只允许本地连接)
编辑配置文件:
sudo nano /etc/postgresql/*/main/postgresql.conf
找到并修改:
listen_addresses = '*' # 默认是 localhost
修改认证方式
sudo nano /etc/postgresql/*/main/pg_hba.conf
添加一行:
host all all 0.0.0.0/0 md5
重启服务
sudo systemctl restart postgresql
8)使用Navicate连接数据库
安装完成
2. 安装PGVector插件
1)从GitHub中拉源码
git clone --branch v0.8.1 https://github.com/pgvector/pgvector.git
2)安装PGSQL的开发包
sudo apt install -y postgresql-server-dev-14
3)编译运行
cd pgvector
make
make install
安装完成
4)使用PGvector
CREATE EXTENSION IF NOT EXISTS vector;
查看应用的所有扩展:
SELECT name, default_version, installed_version, comment
FROM pg_available_extensions
WHERE installed_version IS NOT NULL
ORDER BY name;
注意:使用SpringAI进行开发时还需使用一下两个扩展
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 install2022\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