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)
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?
The configuration settings for the instance.
• config.connectionString?: string
The connection string (optional).
• config.dimensions?: number
The dimensions of the embedding model.
• config.schemaName?: string
The name of the schema (optional). Defaults to PGVECTOR_SCHEMA.
• config.tableName?: string
The name of the table (optional). Defaults to PGVECTOR_TABLE.
Returns
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:48
Properties
collection
private
collection:string
=""
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:23
connectionString
private
connectionString:undefined
|string
=undefined
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:26
db?
private
optional
db:Client
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:29
dimensions
private
dimensions:number
=1536
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:27
schemaName
private
schemaName:string
=PGVECTOR_SCHEMA
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:24
storesText
storesText:
boolean
=true
Implementation of
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:21
tableName
private
tableName:string
=PGVECTOR_TABLE
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:25
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
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:189
checkSchema()
private
checkSchema(db
):Promise
<Client
>
Parameters
• db: Client
Returns
Promise
<Client
>
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:114
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.
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:150
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
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:141
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
Source
packages/core/src/storage/vectorStore/PGVectorStore.ts:227
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.