Skip to content

PostgreSQL online store ignores database search_path, breaking extensions like pgvector #5814

@max36067

Description

@max36067

Expected Behavior

When vector_enabled: true is configured and the pgvector extension is installed in the database (in public schema), Feast should be able to create tables with vector columns. The database's configured search_path should be respected.

Current Behavior

Feast fails with psycopg.errors.UndefinedObject: type "vector" does not exist because it hardcodes the connection search_path to only the db_schema value, excluding public where extensions are typically installed:

 # feast/infra/utils/postgres/connection_utils.py#L76
  "options": "-c search_path={}".format(config.db_schema or config.user),

This overrides any database or user-level search_path settings.

Steps to Reproduce

  1. Install pgvector extension in PostgreSQL:
    CREATE EXTENSION vector; -- installs to public by default
  2. Configure feature_store.yaml with a custom schema:
    online_store:
    type: postgres
    db_schema: feast_online
    vector_enabled: true
  3. Run feast apply
  4. Error occurs:
    psycopg.errors.UndefinedObject: type "vector" does not exist
    LINE 8: vector_value vector NULL,

Specifications

  • Version: 0.58.0
  • Platform: macOS / Linux
  • Subsystem: PostgreSQL

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions