Skip to main content

Class: PGVectorStore

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.html)

Extends

Implements

Constructors

new PGVectorStore()

new PGVectorStore(config?): PGVectorStore

Constructs a new instance of the PGVectorStore

If the connectionString is not provided the following env variables are used to connect to the DB: PGHOST=your database host PGUSER=your database user PGPASSWORD=your database password PGDATABASE=your database name PGPORT=your database port

Parameters

config?: object & Partial<IEmbedModel>

The configuration settings for the instance.

Returns

PGVectorStore

Overrides

VectorStoreBase.constructor

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:58

Properties

embedModel

embedModel: BaseEmbedding

Inherited from

VectorStoreBase.embedModel

Defined in

packages/llamaindex/src/storage/vectorStore/types.ts:104


storesText

storesText: boolean = true

Implementation of

VectorStoreNoEmbedModel.storesText

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:31

Methods

add()

add(embeddingResults): Promise<string[]>

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.

Implementation of

VectorStoreNoEmbedModel.add

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:202


clearCollection()

clearCollection(): Promise<QueryResult<any>>

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

Returns

Promise<QueryResult<any>>

The result of the delete query.

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:163


client()

client(): Promise<Client>

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<Client>

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

Implementation of

VectorStoreNoEmbedModel.client

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:154


delete()

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

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?: any

Required by VectorStore interface. Currently ignored.

Returns

Promise<void>

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

Implementation of

VectorStoreNoEmbedModel.delete

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:259


getCollection()

getCollection(): string

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.

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:91


persist()

persist(persistPath): Promise<void>

Required by VectorStore interface. Currently ignored.

Parameters

persistPath: string

Returns

Promise<void>

Resolved Promise.

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:467


query()

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

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

Parameters

query: VectorStoreQuery

The VectorStoreQuery to be used

options?: any

Required by VectorStore interface. Currently ignored.

Returns

Promise<VectorStoreQueryResult>

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

Implementation of

VectorStoreNoEmbedModel.query

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:394


setCollection()

setCollection(coll): void

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

Defined in

packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:80