1. docker 安装 postgresql
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=123456 --name postgres postgres:latest
  1. 进入容器内部
docker exec -it CONTAINER_ID /bin/bash
  1. 更新apt-get
apt-get update
  1. 查看pg版本
psql -h localhost -U postgres -p 5432
show server_version;
  1. 安装pgvector
apt-get install postgresql-15-pgvector
  1. 添加 vector 扩展
psql -h localhost -U postgres -p 5432
create extension vector;
  1. 查询可使用的扩展
select * from pg_available_extensions where name = 'vector';
  1. 日常使用
create table test_vecotr(
    id bigserial primary key,
    embedding vector(3)
);
alter table test add column embedding vector(3);
insert into test_vecotr(embedding) values('[1,2,3]'), ('[4,5,6]'),('[10,13,15]');
update test_vecotr set embedding = '[1,3,5]' where id = 1;
操作说明
<->欧式距离
<#>负内积
<=>余弦距离
select * from test_vecotr order by embedding <-> '[1,4,5]' limit 5;
select * from test_vecotr where embedding <-> '[1,4,5]' < 5;
select embedding <-> '[1,4,5]' from test_vecotr;
select avg(embedding) from test_vecotr;
  1. 索引