Windows 安装 PostgreSQL 并安装 vector 扩展

目录

前言

下载安装

pgAdmin 4

vector 扩展


前言

调研大模型时,了解到一些大模型的应用,其中一个就是知识库,用户可以上传文档到知识库中,系统解析文档并将内容向量化保存起来,以便在和模型交互时使用。

在和大模型对话时,可以先向量化检索自己的知识库,如果命中,则返回文档内容,然后将文档内容作为大模型的输入,以便让大模型回答得更加符合我们的预期。

这里就涉及到了向量化数据的存储,可以为 PostgreSQL 安装 vector 扩展来存储向量化数据。

记录 Windows 安装 PostgreSQL 以及 vector 扩展的步骤。

下载安装

下载地址:

EDB: Open-Source, Enterprise Postgres Database ManagementEnterpriseDB provides secure, scalable database management software, enterprise-class Postgres solutions and a wide-range services with 24x7 Postgres support.icon-default.png?t=N7T8https://www.enterprisedb.com/downloads/postgres-postgresql-downloads这里下载 16 的版本

下载完成后双击下载的 exe 文件进行安装

基本上都是无脑默认下一步就行了

管理员密码,务必记住

PostgreSQL默认端口是5432,但是安装引导不能设置,所以改成了5433

安装后在连接时注意修改下端口号为5433

选择中文

无脑下一步等待安装完成

pgAdmin 4

这是 pg 自带的数据库连接工具

查询示例

vector 扩展

下载地址:

vector: Open-source vector similarity search for Postgres / PostgreSQL Extension NetworkSupports L2 distance, inner product, and cosine distanceicon-default.png?t=N7T8https://pgxn.org/dist/vector/ 

下载后解压

解压后的根目录为 C:\Users\xxx\Downloads\vector-0.7.3(编译时在命令行会使用cd进入到这个路径,进行编译安装)

在 Windows 上编译需要先下载 Visual Studio

Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器Visual Studio 开发工具和服务让任何开发人员在任何平台和语言的应用开发都更加轻松。 随时随地免费使用代码编辑器或 IDE 进行开发。icon-default.png?t=N7T8https://visualstudio.microsoft.com/zh-hans/

安装时勾选C++

安装完成后,使用管理员模式打开cmd,依次执行以下命令便能够完成安装

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

最后在数据库连接工具中,选中具体的数据库实例,执行以下命令,就能扩展 vector 类型了

CREATE EXTENSION vector;

<think>嗯...用户这次的问题很聚焦啊,直接询问PostgreSQL的向量扩展方案。从用户引用的资料来看,ta应该已经做过一些调研了,引用的内容涵盖了安装方法(包括Ubuntu和Windows)、功能说明甚至底层实现片段。用户的核心诉求其实是两个明确的技术点:1)确认PostgreSQL是否支持向量类型2)获取vector扩展的解决方案。有趣的是,用户特别强调引用仅供参考,说明ta具备辨别冗余信息的能力——这是个技术成熟的用户。注意到引用[3]出现了Rust代码片段讨论类型绑定问题,这说明用户可能遇到过具体的技术障碍。不过当前提问没有暴露具体问题场景,可能需要引导。用户引用的资料版本跨度较大(从v0.8.0到最新0.7.0),需要特别注意版本兼容性问题。安装方法方面,用户提供了Ubuntu和Windows两套方案,但需要注意引用[4]针对的是PostgreSQL14版本。现在的发行版可能默认安装更高版本,这点必须在回复时强调。对于Windows的非管理员问题,引用[5]的nmake方案可能涉及VisualStudio工具链,用户可能缺乏C++编译环境,替代方案可以推荐直接下载二进制包。功能实现部分,用户明显关注到了三种距离计算方式(L2/内积/余弦)。结合pgvector最新文档,0.7.0版本支持pg15以上的新索引算法,性能有显著提升,这个信息应该补充到回复里。另外用户没提到的HNSW索引类型值得特别说明,因为这是优化大规模向量搜索的关键。最后考虑在相关问题里埋个钩子——如果用户后续需要处理高维数据或海量数据集,可以继续探讨分区和行优化方案。不过当前回复里提到的GIST索引和IVFFlat已经能覆盖大部分场景了。</think> 根据您的需求,以下是关于 PostgreSQL 向量扩展的完整解决方案: ### 一、PostgreSQL 向量支持的核心方案:pgvector 扩展 1. **官方支持** PostgreSQL 通过 **pgvector 开源扩展** 原生支持向量数据类型和相似度搜索[^2][^5]: ```sql CREATE EXTENSION IF NOT EXISTS vector; -- 启用插件 CREATE TABLE items (id serial PRIMARY KEY, embedding vector(3)); -- 创建含向量列的表 INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]'); ``` 2. **核心功能** - ✅ 支持向量维度:最高 16000 维(0.5.0+版本) - ✅ 距离计算:L2/欧氏距离、内积、余弦相似度[^2] ```sql SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 5; -- L2距离查询 ``` ### 二、安装指南(不同系统) 1. **Linux (Ubuntu/Debian)**[^4]: ```bash sudo apt install postgresql-14-vector # 匹配PG版本 # 或源码编译: git clone --branch v0.7.0 https://github.com/pgvector/pgvector.git cd pgvector && make && sudo make install ``` 2. **Windows**[^5]: ```powershell git clone --branch v0.7.0 https://github.com/pgvector/pgvector.git cd pgvector nmake /F Makefile.win nmake /F Makefile.win install ``` ### 三、性能优化方案 1. **索引加速查询**: ```sql CREATE INDEX ON items USING ivfflat (embedding vector_l2_ops) WITH (lists=100); -- IVFFlat索引 CREATE INDEX ON items USING hnsw (embedding vector_l2_ops); -- HNSW索引(0.7.0+) ``` 2. **索引选择建议**: - `ivfflat`:快速构建,适用于中等数据集 - `hnsw`:查询更快,适用于大规模数据(需PG ≥15) ### 四、典型应用场景 1. **AI集成**:存储LLM生成的文本嵌入向量 2. **推荐系统**:商品/内容特征向量相似匹配 3. **生物信息学**:蛋白质结构向量分析 > **注意**:使用前需确认: > 1. PostgreSQL版本 ≥ 11(推荐≥15) > 2. 执行`CREATE EXTENSION vector;`后出现报错时,检查安装路径是否在`shared_preload_libraries`中[^3] ---
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值