PgVectorStore
Defined in: pgvector.vector-store.ts:89
pgvector-backed VectorStore implementation.
Stores embeddings in a vector column on the memories table and performs
cosine k-nearest-neighbour search using the pgvector <=> distance operator.
Enables single-datastore deployments (no separate Qdrant service required).
All dynamic values are passed as bound parameters; only validated integer dimensions and limits are interpolated into SQL text.
Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new PgVectorStore(
client,dimensions?,table?,column?,options?):PgVectorStore
Defined in: pgvector.vector-store.ts:100
Parameters
Section titled “Parameters”client
Section titled “client”dimensions?
Section titled “dimensions?”number
table?
Section titled “table?”string = PGVECTOR_TABLE
column?
Section titled “column?”string = PGVECTOR_COLUMN
options?
Section titled “options?”PgVectorOptions = {}
Returns
Section titled “Returns”PgVectorStore
Properties
Section titled “Properties”backend
Section titled “backend”
readonlybackend:"pgvector"='pgvector'
Defined in: pgvector.vector-store.ts:90
Human-readable backend name, used for logging and diagnostics.
Implementation of
Section titled “Implementation of”Methods
Section titled “Methods”delete()
Section titled “delete()”delete(
ids):Promise<void>
Defined in: pgvector.vector-store.ts:245
Remove vectors by id. Missing ids are ignored.
Parameters
Section titled “Parameters”string[]
Returns
Section titled “Returns”Promise<void>
Implementation of
Section titled “Implementation of”ensureReady()
Section titled “ensureReady()”ensureReady(
dimensions):Promise<void>
Defined in: pgvector.vector-store.ts:125
Ensure the backing collection/table exists with the given dimensionality. Implementations must be idempotent.
Parameters
Section titled “Parameters”dimensions
Section titled “dimensions”number
Returns
Section titled “Returns”Promise<void>
Implementation of
Section titled “Implementation of”healthCheck()
Section titled “healthCheck()”healthCheck():
Promise<{column:boolean;dimensions:number|null;extension:boolean;ok:boolean; }>
Defined in: pgvector.vector-store.ts:389
Lightweight readiness probe for health checks. Verifies the pgvector extension is installed and reports whether the runtime-managed embedding column has been provisioned (informational — the column is created on the first vector write, so its absence is not a failure). Returns a structured status rather than throwing so callers can shape their own health response.
Returns
Section titled “Returns”Promise<{ column: boolean; dimensions: number | null; extension: boolean; ok: boolean; }>
reset()
Section titled “reset()”reset():
Promise<void>
Defined in: pgvector.vector-store.ts:270
Drop the vector column and its index so a subsequent upsert
reprovisions them at the dimensionality of the new embedding pipeline.
This is what makes a model/dimension change survivable: the column is a
derived index (Postgres embedding Float[] remains the source of truth)
and is rebuilt by a full reindex. Idempotent.
Returns
Section titled “Returns”Promise<void>
Implementation of
Section titled “Implementation of”search()
Section titled “search()”search(
vector,filter,limit?):Promise<VectorSearchResult[]>
Defined in: pgvector.vector-store.ts:279
Run a k-nearest-neighbour search filtered by VectorSearchFilter.
Parameters
Section titled “Parameters”vector
Section titled “vector”number[]
filter
Section titled “filter”limit?
Section titled “limit?”number = 10
Returns
Section titled “Returns”Promise<VectorSearchResult[]>
Implementation of
Section titled “Implementation of”upsert()
Section titled “upsert()”upsert(
records):Promise<void>
Defined in: pgvector.vector-store.ts:217
Insert or replace one or more vectors.
Parameters
Section titled “Parameters”records
Section titled “records”Returns
Section titled “Returns”Promise<void>