pgvector
PostgreSQL extension adding a vector data type and similarity search operators. Best when you want vector search within an existing PostgreSQL database.
Syntax
vector-databases
CREATE EXTENSION vector;
column_name vector(384)
SELECT * FROM t ORDER BY embedding <=> query_vec LIMIT 5;Example
vector-databases
-- pgvector setup:
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE documents (
id SERIAL PRIMARY KEY,
content TEXT,
embedding vector(1536)
);
-- Approximate nearest neighbor index:
CREATE INDEX ON documents USING ivfflat (embedding vector_cosine_ops);
-- Similarity search:
SELECT content, 1 - (embedding <=> $1::vector) AS similarity
FROM documents
ORDER BY embedding <=> $1::vector
LIMIT 5;