当前位置: 首页 > news >正文

在 Cloud SQL for PostgreSQL 上启用 pgvector

本文档记录了如何在 Google Cloud SQL (PostgreSQL 13+) 实例上启用pgvector扩展,以支持向量数据库功能(如向量存储和相似度搜索)。

1. 简介

pgvector是 PostgreSQL 的一个开源扩展,用于存储和查询向量嵌入(Vector Embeddings)。Google Cloud SQL 已经内置了对该扩展的支持。

此外,Google 还提供了专有的性能优化(ScaNN 索引),可以通过配置 Flags 开启。

2. 操作步骤

启用过程分为两个部分:基础设施配置(Terraform)和数据库内部配置(SQL)。

2.1 步骤一:启用 Google 向量辅助优化 (Terraform)

为了获得更好的向量搜索性能(特别是支持 ScaNN 索引),建议在 Cloud SQL 实例级别启用cloudsql.enable_vector_assist标志。

操作:修改 Terraform 代码 (instance.tf),在google_sql_database_instancesettings块中添加database_flags

resource "google_sql_database_instance" "main" { # ... 其他配置 ... settings { # ... 其他配置 ... # 添加以下 Flag database_flags { name = "cloudsql.enable_vector_assist" value = "on" } } }

应用更改:
执行terraform apply

⚠️ 注意:修改数据库 Flags 通常会触发 Cloud SQL 实例重启,请在维护窗口进行操作。

2.2 步骤二:安装扩展 (SQL)

基础设施配置完成后,还需要在具体的数据库中“安装”扩展。这一步必须通过连接数据库执行 SQL 命令来完成,无法直接通过 Terraform 资源(除非使用专门的 postgresql provider)完成。

连接数据库:
你可以通过 Cloud SQL Auth Proxy、Bastion Host 或配置好的 Envoy 代理连接到数据库。

psql -h[DB_IP]-p5432-U[USERNAME]-d[DB_NAME]

执行安装命令:

psql提示符下执行:

CREATEEXTENSIONIFNOTEXISTSvector;

验证安装:

执行\dx查看已安装的扩展:

default_db=> \dx List of installed extensions Name | Version | Schema | Description ---------+---------+------------+------------------------------------------------------ plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language vector | 0.8.0 | public | vector data type and ivfflat and hnsw access methods (2 rows)

看到vector出现在列表中即表示成功。

3. 常见问题 (FAQ)

Q: 我需要下载 pgvector 的安装包吗?
A:不需要。Cloud SQL 的系统镜像中已经预装了 pgvector 的二进制文件。你只需要执行CREATE EXTENSION命令来在你的数据库中启用它。

Q:cloudsql.enable_vector_assist是必须的吗?
A:不是强制的,但强烈推荐。它启用了 Google 对向量搜索的底层优化(如 ScaNN 索引支持),能显著提升查询性能。如果不开启,你只能使用标准的 HNSW 或 IVFFlat 索引。

Q: 支持哪些 PostgreSQL 版本?
A:pgvector 支持 PostgreSQL 11+,但 Google 的vector_assist优化通常在较新的版本(如 PG 13, 14, 15+)中支持更好。本项目使用的是 PostgreSQL 13。

http://www.jsqmd.com/news/140168/

相关文章:

  • Doris为2.1版本,但json_each不可以用解决方法
  • 《创业之路》-754-《架构思维:从程序员到CTO》第二部分:架构师的六大生存法则与启发
  • Nature Genetics | 本周最新文献速递
  • Java 反射机制解析:从基础概念到框架实践 - 教程
  • 微信小程序uniapp-vue校园租房指南房屋租赁
  • 模型调优技巧:提升准确率的10种实用方法
  • 149_尚硅谷_数组应用实例(1)
  • PCIe-浅谈Transaction ID和Tag(2)
  • 数据增强(Data Augmentation)策略大全
  • 软件缺少vfp9r.dll文件 无法启动运行问题 下载修复方法
  • 微信小程序uniapp-vue校园网络维修报修平 多媒体设备报修
  • PCIe-Tag Rule(2)
  • 别只测功能:一套可落地的鸿蒙分布式压力测试方案
  • 微信小程序uniapp-vue校园美食评论餐饮配送商家 配送员
  • Windows系统文件vsstrace.dll丢失损坏问题 下载修复方法
  • Linux中将文本的奇数行和偶数行分别转换为单独的行
  • 基于SpringBoot的酒店客房管理系统的设计与实现毕业设计项目源码
  • Windows系统文件verifier.dll丢失损坏问题 下载修复
  • ATO、MTS、MTO、ETO、CTO:一文看懂制造业五大生产模式到底差在哪
  • 汉诺塔问题 农夫移动
  • 基于SpringBoot的预制菜调度管控系统设计与实现毕业设计项目源码
  • Windows系统文件wavemsp.dll丢失损坏 下载修复方法
  • 毕业论文救星:8款AI工具一键搞定熬夜!效率飙升100%
  • 微信小程序uniapp-vue校园自动点餐系统带跑腿
  • 金字塔 物理动画
  • Windows系统文件vcomp100.dll丢失 下载修复
  • 学长亲荐10个AI论文软件,本科生毕业论文轻松搞定!
  • 基于SpringBoot的民宿管理系统毕业设计项目源码
  • 微信小程序uniapp-vue学科竞赛比赛报名管理系统
  • AI浪潮下,普通工程师的生存与突围:4大核心职业机会+落地转型指南