Logo
Classes

PGVectorStore

Defined in: providers/storage/postgres/src/PGVectorStore.ts:155

Provides support for writing and querying vector data in Postgres. Note: Can't be used with data created using the Python version of the vector store (https://docs.llamaindex.ai/en/stable/examples/vector_stores/postgres/)

Extends

  • BaseVectorStore

Constructors

new PGVectorStore()

new PGVectorStore(config): PGVectorStore

Defined in: providers/storage/postgres/src/PGVectorStore.ts:168

Parameters

config

PGVectorStoreConfig

Returns

PGVectorStore

Overrides

BaseVectorStore.constructor

Properties

storesText

storesText: boolean = true

Defined in: providers/storage/postgres/src/PGVectorStore.ts:156

Overrides

BaseVectorStore.storesText

Methods

setCollection()

setCollection(coll): void

Defined in: providers/storage/postgres/src/PGVectorStore.ts:203

Setter for the collection property. Using a collection allows for simple segregation of vector data, e.g. by user, source, or access-level. Leave/set blank to ignore the collection value when querying.

Parameters

coll

string

Name for the collection.

Returns

void


getCollection()

getCollection(): string

Defined in: providers/storage/postgres/src/PGVectorStore.ts:214

Getter for the collection property. Using a collection allows for simple segregation of vector data, e.g. by user, source, or access-level. Leave/set blank to ignore the collection value when querying.

Returns

string

The currently-set collection value. Default is empty string.


client()

client(): Promise<IsomorphicDB>

Defined in: providers/storage/postgres/src/PGVectorStore.ts:286

Connects to the database specified in environment vars. This method also checks and creates the vector extension, the destination table and indexes if not found.

Returns

Promise<IsomorphicDB>

A connection to the database, or the error encountered while connecting/setting up.

Overrides

BaseVectorStore.client


clearCollection()

clearCollection(): Promise<any[]>

Defined in: providers/storage/postgres/src/PGVectorStore.ts:295

Delete all vector records for the specified collection. NOTE: Uses the collection property controlled by setCollection/getCollection.

Returns

Promise<any[]>

The result of the delete query.


add()

add(embeddingResults): Promise<string[]>

Defined in: providers/storage/postgres/src/PGVectorStore.ts:331

Adds vector record(s) to the table. NOTE: Uses the collection property controlled by setCollection/getCollection.

Parameters

embeddingResults

BaseNode<Metadata>[]

The Nodes to be inserted, optionally including metadata tuples.

Returns

Promise<string[]>

A list of zero or more id values for the created records.

Overrides

BaseVectorStore.add


delete()

delete(refDocId, deleteKwargs?): Promise<void>

Defined in: providers/storage/postgres/src/PGVectorStore.ts:380

Deletes a single record from the database by id. NOTE: Uses the collection property controlled by setCollection/getCollection.

Parameters

refDocId

string

Unique identifier for the record to delete.

deleteKwargs?

object

Required by VectorStore interface. Currently ignored.

Returns

Promise<void>

Promise that resolves if the delete query did not throw an error.

Overrides

BaseVectorStore.delete


query()

query(query, options?): Promise<VectorStoreQueryResult>

Defined in: providers/storage/postgres/src/PGVectorStore.ts:515

Query the vector store for the closest matching data to the query embeddings

Parameters

query

VectorStoreQuery

The VectorStoreQuery to be used

options?

object

Required by VectorStore interface. Currently ignored.

Returns

Promise<VectorStoreQueryResult>

Zero or more Document instances with data from the vector store.

Overrides

BaseVectorStore.query


persist()

persist(persistPath): Promise<void>

Defined in: providers/storage/postgres/src/PGVectorStore.ts:590

Required by VectorStore interface. Currently ignored.

Parameters

persistPath

string

Returns

Promise<void>

Resolved Promise.