Skip to content

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.

new PgVectorStore(client, dimensions?, table?, column?, options?): PgVectorStore

Defined in: pgvector.vector-store.ts:100

PgVectorClient

number

string = PGVECTOR_TABLE

string = PGVECTOR_COLUMN

PgVectorOptions = {}

PgVectorStore

readonly backend: "pgvector" = 'pgvector'

Defined in: pgvector.vector-store.ts:90

Human-readable backend name, used for logging and diagnostics.

VectorStore.backend

delete(ids): Promise<void>

Defined in: pgvector.vector-store.ts:245

Remove vectors by id. Missing ids are ignored.

string[]

Promise<void>

VectorStore.delete


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.

number

Promise<void>

VectorStore.ensureReady


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.

Promise<{ column: boolean; dimensions: number | null; extension: boolean; ok: boolean; }>


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.

Promise<void>

VectorStore.reset


search(vector, filter, limit?): Promise<VectorSearchResult[]>

Defined in: pgvector.vector-store.ts:279

Run a k-nearest-neighbour search filtered by VectorSearchFilter.

number[]

VectorSearchFilter

number = 10

Promise<VectorSearchResult[]>

VectorStore.search


upsert(records): Promise<void>

Defined in: pgvector.vector-store.ts:217

Insert or replace one or more vectors.

VectorRecord[]

Promise<void>

VectorStore.upsert