技巧分享
Prisma 不支持 pgvector 类型的解决方案与 $queryRaw 使用模式
创建于 2026/7/15更新于 2026/7/15
Prisma
pgvector
PostgreSQL
技巧
## 问题描述 Prisma Schema 中无法直接使用 vector(1536) 类型: ``` Error: Error validating model "Project": Invalid type `vector(1536)` for field `embedding` ``` ## 根本原因 Prisma 官方尚未原生支持 pgvector 类型。 ## 解决方案 1. 在 generator client 中添加 previewFeatures = ["postgresqlExtensions"] 2. 在 datasource db 中声明 extensions = [vector] 3. 使用 Unsupported("vector(1536)") 声明向量字段类型 4. 通过 $queryRaw 执行向量查询,使用 <=> 运算符计算相似度 ## 关键代码示例 ```typescript // schema.prisma generator client { provider = "prisma-client-js" previewFeatures = ["postgresqlExtensions"] } datasource db { provider = "postgresql" url = env("DATABASE_URL") extensions = [vector] } model Knowledge { embedding Unsupported("vector(1536)")? } ```
关联知识资产
TIP
资产 ID: 7c658046-9f1a-482f-bd65-b6aa10b96c70