From a096e148159e82606550dd7f495346b1f56d2e01 Mon Sep 17 00:00:00 2001 From: angelplusultra Date: Tue, 23 Sep 2025 17:15:21 -0700 Subject: [PATCH 1/2] Add PostgreSQL vector extension in createTableIfNotExists function --- server/utils/vectorDbProviders/pgvector/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/server/utils/vectorDbProviders/pgvector/index.js b/server/utils/vectorDbProviders/pgvector/index.js index 057f1b799d6..de8c1d712e2 100644 --- a/server/utils/vectorDbProviders/pgvector/index.js +++ b/server/utils/vectorDbProviders/pgvector/index.js @@ -405,6 +405,7 @@ const PGVector = { */ createTableIfNotExists: async function (connection, dimensions = 384) { this.log(`Creating embedding table with ${dimensions} dimensions`); + await connection.query("CREATE EXTENSION IF NOT EXISTS vector;"); await connection.query(this.createTableSql(dimensions)); return true; }, From 43751604c0e5307c390158771ab62f76ea6e15d9 Mon Sep 17 00:00:00 2001 From: shatfield4 Date: Tue, 23 Sep 2025 20:11:39 -0700 Subject: [PATCH 2/2] move extension sql to function --- server/utils/vectorDbProviders/pgvector/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/utils/vectorDbProviders/pgvector/index.js b/server/utils/vectorDbProviders/pgvector/index.js index de8c1d712e2..d5c86907566 100644 --- a/server/utils/vectorDbProviders/pgvector/index.js +++ b/server/utils/vectorDbProviders/pgvector/index.js @@ -44,6 +44,7 @@ const PGVector = { "SELECT * FROM pg_catalog.pg_tables WHERE schemaname = 'public'", getEmbeddingTableSchemaSql: "SELECT column_name,data_type FROM information_schema.columns WHERE table_name = $1", + createExtensionSql: "CREATE EXTENSION IF NOT EXISTS vector;", createTableSql: (dimensions) => `CREATE TABLE IF NOT EXISTS "${PGVector.tableName()}" (id UUID PRIMARY KEY, namespace TEXT, embedding vector(${Number(dimensions)}), metadata JSONB, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)`, @@ -405,7 +406,7 @@ const PGVector = { */ createTableIfNotExists: async function (connection, dimensions = 384) { this.log(`Creating embedding table with ${dimensions} dimensions`); - await connection.query("CREATE EXTENSION IF NOT EXISTS vector;"); + await connection.query(this.createExtensionSql); await connection.query(this.createTableSql(dimensions)); return true; },