diff --git a/packages/core/src/storage/vectorStore/PGVectorStore.ts b/packages/core/src/storage/vectorStore/PGVectorStore.ts
index f116f10347a1a3e34013638c9f9edc515d99b130..7bc0ccd33122325d52d00f37bdf7b23d453fd41f 100644
--- a/packages/core/src/storage/vectorStore/PGVectorStore.ts
+++ b/packages/core/src/storage/vectorStore/PGVectorStore.ts
@@ -142,6 +142,11 @@ export class PGVectorStore implements VectorStore {
    * @returns A list of zero or more id values for the created records.
    */
   async add(embeddingResults: BaseNode<Metadata>[]): Promise<string[]> {
+    if (embeddingResults.length == 0) {
+      console.debug("Empty list sent to PGVectorStore::add");
+      return Promise.resolve([]);
+    }
+
     const sql: string = `INSERT INTO ${PGVECTOR_SCHEMA}.${PGVECTOR_TABLE} 
       (id, external_id, collection, document, metadata, embeddings) 
       VALUES ($1, $2, $3, $4, $5, $6)`;
@@ -222,9 +227,13 @@ export class PGVectorStore implements VectorStore {
     const max = query.similarityTopK ?? 2;
     const where = this.collection.length ? "WHERE collection = $2" : "";
     // TODO Add collection filter if set
-    const sql = `SELECT * FROM ${PGVECTOR_SCHEMA}.${PGVECTOR_TABLE}
+    const sql = `SELECT 
+        v.*, 
+        embeddings <-> $1 s 
+      FROM ${PGVECTOR_SCHEMA}.${PGVECTOR_TABLE} v
       ${where}
-      ORDER BY embeddings <-> $1 LIMIT ${max}
+      ORDER BY s 
+      LIMIT ${max}
     `;
 
     const db = (await this.getDb()) as pg.Client;
@@ -244,7 +253,7 @@ export class PGVectorStore implements VectorStore {
 
     const ret = {
       nodes: nodes,
-      similarities: results.rows.map((row) => row.embeddings),
+      similarities: results.rows.map((row) => row.s),
       ids: results.rows.map((row) => row.id),
     };