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
Overrides
Defined in
packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:58
Properties
embedModel
embedModel:
BaseEmbedding
Inherited from
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
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:240
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:448
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
Defined in
packages/llamaindex/src/storage/vectorStore/PGVectorStore.ts:375
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