Skip to content

Comments

fix: Support pgvector under non-default schema#5970

Merged
ntkathole merged 1 commit intofeast-dev:masterfrom
Anarion-zuo:aaronzuo/pg_search_path
Feb 15, 2026
Merged

fix: Support pgvector under non-default schema#5970
ntkathole merged 1 commit intofeast-dev:masterfrom
Anarion-zuo:aaronzuo/pg_search_path

Conversation

@Anarion-zuo
Copy link
Contributor

@Anarion-zuo Anarion-zuo commented Feb 14, 2026

What this PR does / why we need it:

Vector extension for postgres is almost always installed under the public schema by default. When the table's schema is not public, add public to search_path.

Which issue(s) this PR fixes:

Fixes #5814.

Misc

Steps to reproduce the issue with the pgvector example under examples/online_store/pgvector_tutorial. This PR resolve the following error.

  • Change db_schema in feature_store.yaml to a value other than 'public'.
  • Execute feast apply.
  • Execute python3 pgvector_example.py, and get the following error.
Performing similarity search for: 'wireless audio device with good sound'
Traceback (most recent call last):
  File "/Users/bytedance/Projects/feast/examples/online_store/pgvector_tutorial/pgvector_example.py", line 207, in <module>
    main()
  File "/Users/bytedance/Projects/feast/examples/online_store/pgvector_tutorial/pgvector_example.py", line 200, in main
    perform_similarity_search(store, "wireless audio device with good sound", top_k=3)
  File "/Users/bytedance/Projects/feast/examples/online_store/pgvector_tutorial/pgvector_example.py", line 136, in perform_similarity_search
    results = store.retrieve_online_documents(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bytedance/Projects/feast/sdk/python/feast/feature_store.py", line 2554, in retrieve_online_documents
    document_features = self._retrieve_from_online_store(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bytedance/Projects/feast/sdk/python/feast/feature_store.py", line 2785, in _retrieve_from_online_store
    documents = provider.retrieve_online_documents(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bytedance/Projects/feast/sdk/python/feast/infra/passthrough_provider.py", line 306, in retrieve_online_documents
    result = self.online_store.retrieve_online_documents(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bytedance/Projects/feast/sdk/python/feast/infra/online_stores/postgres_online_store/postgres.py", line 439, in retrieve_online_documents
    cur.execute(
  File "/Users/bytedance/Projects/feast/.venv/lib/python3.11/site-packages/psycopg/cursor.py", line 97, in execute
    raise ex.with_traceback(None)
psycopg.errors.UndefinedObject: type "vector" does not exist
LINE 7:                         vector_value <-> $1::vector as dista...

Open with Devin

@Anarion-zuo Anarion-zuo requested a review from a team as a code owner February 14, 2026 16:53
@Anarion-zuo Anarion-zuo force-pushed the aaronzuo/pg_search_path branch from eab2d4d to f89a3db Compare February 14, 2026 16:56
Copy link
Collaborator

@shuchu shuchu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Signed-off-by: aaronzuo <anarionzuo@outlook.com>
@ntkathole ntkathole force-pushed the aaronzuo/pg_search_path branch from 8630abe to d2c81f5 Compare February 15, 2026 06:29
@ntkathole ntkathole merged commit c636cd4 into feast-dev:master Feb 15, 2026
16 of 17 checks passed
patelchaitany pushed a commit to patelchaitany/feast that referenced this pull request Feb 16, 2026
dev

Signed-off-by: aaronzuo <anarionzuo@outlook.com>
Signed-off-by: Chaitany patel <patelchaitany93@gmail.com>
franciscojavierarceo pushed a commit that referenced this pull request Feb 17, 2026
# [0.60.0](v0.59.0...v0.60.0) (2026-02-17)

### Bug Fixes

* Added a flag to correctly download the go binaries ([0f77135](0f77135))
* Adds mapping of date Trino's type into string Feast's type ([531e839](531e839))
* **ci:** Use uv run for pytest in master_only benchmark step ([#5957](#5957)) ([5096010](5096010))
* Disable materialized odfvs for historical retrieval ([#5880](#5880)) ([739d28a](739d28a))
* Fix linting and formatting issues ([#5907](#5907)) ([42ca14a](42ca14a))
* Make timestamp field handling  compatible with Athena V3 ([#5936](#5936)) ([e2bad34](e2bad34))
* Support pgvector under non-default schema ([#5970](#5970)) ([c636cd4](c636cd4))
* unit tests not running on main branch ([#5909](#5909)) ([62fe664](62fe664))
* Update java dep which blocking release ([#5903](#5903)) ([a5b8186](a5b8186))
* Update the dockerfile with golang 1.24.12. ([#5918](#5918)) ([be1b522](be1b522))
* Use context.Background() in client constructors ([#5897](#5897)) ([984f93a](984f93a))

### Features

* Add blog post for PyTorch ecosystem announcement ([#5906](#5906)) ([d2eb629](d2eb629))
* Add blog post on Feast dbt integration ([#5915](#5915)) ([b3c8138](b3c8138))
* Add DynamoDB in-place list update support for array-based features ([#5916](#5916)) ([aa5973f](aa5973f))
* Add HTTP connection pooling for remote online store client ([#5895](#5895)) ([e022bf8](e022bf8))
* Add integration tests for dbt import ([#5899](#5899)) ([a444692](a444692))
* Add lazy initialization and feature service caching ([#5924](#5924)) ([b37b7d0](b37b7d0))
* Add multiple entity support to dbt integration ([#5901](#5901)) ([05a4fb5](05a4fb5)), closes [#5872](#5872)
* Add PostgreSQL online store support for Go feature server ([#5963](#5963)) ([b8c6f3d](b8c6f3d))
* Add publish docker image of Go feature server. ([#5923](#5923)) ([759d8c6](759d8c6))
* Add Set as feature type ([#5888](#5888)) ([52458fc](52458fc))
* Added online server worker config support in operator ([#5926](#5926)) ([193c72a](193c72a))
* Added support for OpenLineage integration ([#5884](#5884)) ([df70d8d](df70d8d))
* Adjust ray offline store to support abfs(s) ADLS Azure Storage ([#5911](#5911)) ([d6c0b2d](d6c0b2d))
* Batch_engine config injection in feature_store.yaml through operator ([#5938](#5938)) ([455d56c](455d56c))
* Consolidate Python packaging - remove setup.py/setup.cfg, standardize on pyproject.toml and uv ([16696b8](16696b8))
* **go:** Add MySQL registry store support for Go feature server ([#5933](#5933)) ([19f9bb8](19f9bb8))
* Improve local dev experience with file-aware hooks and auto parallelization ([#5956](#5956)) ([839b79e](839b79e))
* Modernize precommit hooks and optimize test performance ([#5929](#5929)) ([ea7d4fa](ea7d4fa))
* Optimize container infrastructure for production ([#5881](#5881)) ([5ebdac8](5ebdac8))
* Optimize DynamoDB online store for improved latency ([#5889](#5889)) ([fcc8274](fcc8274))
soooojinlee pushed a commit to soooojinlee/feast that referenced this pull request Feb 18, 2026
# [0.60.0](feast-dev/feast@v0.59.0...v0.60.0) (2026-02-17)

### Bug Fixes

* Added a flag to correctly download the go binaries ([0f77135](feast-dev@0f77135))
* Adds mapping of date Trino's type into string Feast's type ([531e839](feast-dev@531e839))
* **ci:** Use uv run for pytest in master_only benchmark step ([feast-dev#5957](feast-dev#5957)) ([5096010](feast-dev@5096010))
* Disable materialized odfvs for historical retrieval ([feast-dev#5880](feast-dev#5880)) ([739d28a](feast-dev@739d28a))
* Fix linting and formatting issues ([feast-dev#5907](feast-dev#5907)) ([42ca14a](feast-dev@42ca14a))
* Make timestamp field handling  compatible with Athena V3 ([feast-dev#5936](feast-dev#5936)) ([e2bad34](feast-dev@e2bad34))
* Support pgvector under non-default schema ([feast-dev#5970](feast-dev#5970)) ([c636cd4](feast-dev@c636cd4))
* unit tests not running on main branch ([feast-dev#5909](feast-dev#5909)) ([62fe664](feast-dev@62fe664))
* Update java dep which blocking release ([feast-dev#5903](feast-dev#5903)) ([a5b8186](feast-dev@a5b8186))
* Update the dockerfile with golang 1.24.12. ([feast-dev#5918](feast-dev#5918)) ([be1b522](feast-dev@be1b522))
* Use context.Background() in client constructors ([feast-dev#5897](feast-dev#5897)) ([984f93a](feast-dev@984f93a))

### Features

* Add blog post for PyTorch ecosystem announcement ([feast-dev#5906](feast-dev#5906)) ([d2eb629](feast-dev@d2eb629))
* Add blog post on Feast dbt integration ([feast-dev#5915](feast-dev#5915)) ([b3c8138](feast-dev@b3c8138))
* Add DynamoDB in-place list update support for array-based features ([feast-dev#5916](feast-dev#5916)) ([aa5973f](feast-dev@aa5973f))
* Add HTTP connection pooling for remote online store client ([feast-dev#5895](feast-dev#5895)) ([e022bf8](feast-dev@e022bf8))
* Add integration tests for dbt import ([feast-dev#5899](feast-dev#5899)) ([a444692](feast-dev@a444692))
* Add lazy initialization and feature service caching ([feast-dev#5924](feast-dev#5924)) ([b37b7d0](feast-dev@b37b7d0))
* Add multiple entity support to dbt integration ([feast-dev#5901](feast-dev#5901)) ([05a4fb5](feast-dev@05a4fb5)), closes [feast-dev#5872](feast-dev#5872)
* Add PostgreSQL online store support for Go feature server ([feast-dev#5963](feast-dev#5963)) ([b8c6f3d](feast-dev@b8c6f3d))
* Add publish docker image of Go feature server. ([feast-dev#5923](feast-dev#5923)) ([759d8c6](feast-dev@759d8c6))
* Add Set as feature type ([feast-dev#5888](feast-dev#5888)) ([52458fc](feast-dev@52458fc))
* Added online server worker config support in operator ([feast-dev#5926](feast-dev#5926)) ([193c72a](feast-dev@193c72a))
* Added support for OpenLineage integration ([feast-dev#5884](feast-dev#5884)) ([df70d8d](feast-dev@df70d8d))
* Adjust ray offline store to support abfs(s) ADLS Azure Storage ([feast-dev#5911](feast-dev#5911)) ([d6c0b2d](feast-dev@d6c0b2d))
* Batch_engine config injection in feature_store.yaml through operator ([feast-dev#5938](feast-dev#5938)) ([455d56c](feast-dev@455d56c))
* Consolidate Python packaging - remove setup.py/setup.cfg, standardize on pyproject.toml and uv ([16696b8](feast-dev@16696b8))
* **go:** Add MySQL registry store support for Go feature server ([feast-dev#5933](feast-dev#5933)) ([19f9bb8](feast-dev@19f9bb8))
* Improve local dev experience with file-aware hooks and auto parallelization ([feast-dev#5956](feast-dev#5956)) ([839b79e](feast-dev@839b79e))
* Modernize precommit hooks and optimize test performance ([feast-dev#5929](feast-dev#5929)) ([ea7d4fa](feast-dev@ea7d4fa))
* Optimize container infrastructure for production ([feast-dev#5881](feast-dev#5881)) ([5ebdac8](feast-dev@5ebdac8))
* Optimize DynamoDB online store for improved latency ([feast-dev#5889](feast-dev#5889)) ([fcc8274](feast-dev@fcc8274))

Signed-off-by: soojin <soojin@dable.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PostgreSQL online store ignores database search_path, breaking extensions like pgvector

3 participants