zilliztech / zilliztech/VectorDBBench

"couldn't find the type 'vector' in the types registry"

Open
#509 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.2k
Forks
438
Avg merge
1d 4h
Merged PRs (30d)
1

Description

I'm trying to run the PgVector benchmark with the VectorDBBench tool against Azure PostgreSQL, but the benchmark consistently fails with the following error:

KeyError: "couldn't find the type 'vector' in the types registry"

This error occurs during the data insertion phase. The benchmark successfully connects to the database and registers the vector type in the main process, but fails when trying to insert data.

Azure PostgreSQL Configuration
I've set up Azure PostgreSQL specifically for this benchmark:

  • Created an Azure Database for PostgreSQL server
  • Added the "vector" extension to the allowlist in Azure Portal:
    Went to Azure Portal → PostgreSQL server → Settings → Server parameters
    Added "vector" to the "azure.extensions" parameter
  • Added my client IP address to the firewall rules in Azure Portal:
    Went to Azure Portal → PostgreSQL server → Settings → Connection security
    Added my client IP to the allowed IP addresses

Changes Made to Support Azure PostgreSQL:

Modified the connection parameters to use SSL (required by Azure):
conn = psycopg.connect(**kwargs, sslmode="require")

Added explicit creation of the pgvector extension before registering the vector type:
conn.autocommit = True cursor = conn.cursor() cursor.execute("CREATE EXTENSION IF NOT EXISTS vector") conn.commit() register_vector(conn)

Error Logs:
2025-04-25 11:34:19,888 | INFO: Successfully registered vector type (pgvector.py:94) (8951) 2025-04-25 11:34:20,292 | INFO: (SpawnProcess-1:1) Start inserting embeddings in batch 100 (serial_runner.py:43) (8951) 2025-04-25 11:34:20,293 | INFO: Get iterator for shuffle_train.parquet (dataset.py:268) (8951) 2025-04-25 11:34:20,754 | WARNING: Failed to insert data into pgvector table (pg_vector_collection), error: "couldn't find the type 'vector' in the types registry" (pgvector.py:472) (8951) 2025-04-25 11:34:20,768 | WARNING: VectorDB load dataset error: "couldn't find the type 'vector' in the types registry" (serial_runner.py:141) (7992)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read pgvector.py around vector registration and insertion, then serial_runner.py around the spawned insertion worker; compare what the main process registers with what the worker sees. Reproduce the failure using the reported Azure PostgreSQL SSL and extension setup, and verify that batch insertion completes without the type-registry error.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, postgresql, python
Domain
cloud, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.