← 返回首页

学习使用PG经历之安装pgvector(3)

服务器运维 亲身经历 公开
内容简要
下载并安装pgvector扩展到PostgreSQL 17,但未在指定数据库中创建扩展导致无法使用vector字段类型。
坑点
未在指定数据库中执行CREATE EXTENSION IF NOT EXISTS vector;来激活扩展。
注意事项

1. 下载并安装pgvector扩展到PostgreSQL安装目录。

  • 2. 重启PostgreSQL服务。
  • 3. 在需要使用vector字段类型的数据库中执行:
    CREATE EXTENSION IF NOT EXISTS vector;

1、下载合适的版pgvector版本:https://github.com/andreiramani/pgvector\pgsql\windows/releases

我使用的是PostgreSQL 17,所以就下载17版本

image.png

2、下载文件vector.v0.8.6-pg17.zip并解压,解决后然后复制这几个文件夹放在PostgreSQL的安装文件夹,其实PostgreSQL的安装目录中有相同的文件夹,我们覆盖就行了

image.png

image.png

3、重启PostgreSQL服务

=======================================================================

PostgreSQL在windows中的服务是统一管理的,我们可以在服务中重启他。

按 Win + R,输入:

text

编辑

services.msc

image.png

注意:重启后我们要重新登录才可以

怎么验证pgvector有没有安装好?

==============================================================

用下面的语句可以查看是否有安装pgvector

SELECT extname, extversion FROM pg\_extension WHERE extname = 'vector';

也可以在指定的数据下看是否有vector这一个扩展,如果没有是不能使用vector字段类型的,必须在指定的数据库下使用CREATE EXTENSION IF NOT EXISTS vector;来激活扩展

image.png

是不是说我们安装pgvector 扩展,还要自己通过CREATE EXTENSION IF NOT EXISTS vector;这个语句在指定的数据库下创建扩展才行?不然不能用?

必须在你需要用到的每一个具体的数据库下执行 CREATE EXTENSION vector;,该扩展才会在那个数据库里真正生效。

为了方便记忆,你可以把安装过程分为两步走,它们缺一不可:

  • 第一步:系统级安装(你已经完成了) 就是把 vector.dll、vector.control 等文件拷贝到 D:/PostgreSQL/17 的安装目录里。这相当于把“软件安装包”下载并解压到了电脑的硬盘上。做完这一步,PostgreSQL 服务就知道了“我有了这个新功能”。
  • 第二步:数据库级启用(你现在需要做的) 就是在具体的数据库(比如 pitlog)里执行 CREATE EXTENSION。这相当于双击安装图标,在特定的“软件桌面”上激活并使用它。

如果你不做第二步,虽然系统里有这个文件,但那个数据库不知道你要用它,所以建表时用 vector 类型就会报错。


本文内容仅代表作者个人观点、经历或转述,不代表任何官方立场,仅供参考,不构成任何专业建议。据此操作产生的风险由读者自行承担。
发布于 2026-10-06 09:43:04 ID: 13