Skip to content

Add Supabase integration #2862

Description

@kacperlukawski

Supabase Integration

See the sub-tasks below. This is just the general overview. Note, each task should be firstly merged into a feature branch and then merged into main.

Summary and motivation

Supabase is open-source backend platform built on top of PostgreSQL that offers rich ecosystem of storage and search capabilities beyond plain pgvector. Comprehensive Haystack integration would unlock several complementary use cases under single, unified provider:

  • Vector search via pgvector – most straightforward path, giving users managed Postgres + pgvector experience with operational simplicity of Supabase.
  • Cost-efficient vector storage via Vector Buckets – Supabase's S3-backed vector store (currently in alpha) is aimed at scenarios where query latency is less critical than cost, similar to alternatives like turbopuffer or TopK.
  • Full-text search via PGroonga – Supabase exposes PGroonga, PostgreSQL extension for fast, multilingual full-text search, which could complement or replace BM25-based retrievers in certain pipelines.
  • File/object storage via Supabase Buckets – analogous to S3, Supabase Buckets can serve as document source, similar to existing S3Downloader.

Authentication & Configuration

All components should support:

  • supabase_url and supabase_key (via Secret for secure handling)
  • Optional schema and table_name overrides
  • Connection pooling configuration where relevant

Primary dependency would be supabase-py client library.


Future Considerations

Supabase Auth could be explored as identity provider for RBAC in Haystack pipelines, allowing row-level security policies defined in Supabase to be honored at query time.

Checklist

If the request is accepted, ensure the following checklist is complete before closing this issue.

Tasks

  • The code is documented with docstrings and was merged in the main branch
  • Docs are published at https://docs.haystack.deepset.ai/
  • There is a Github workflow running the tests for the integration nightly and at every PR
  • A new label named like integration:supabase has been added to the list of labels for this repository
  • The labeler.yml file has been updated
  • The package has been released on PyPI
  • An integration tile with a usage example has been added to https://github.com/deepset-ai/haystack-integrations
  • The integration has been listed in the Inventory section of this repo README
  • The feature was announced through social media

Metadata

Metadata

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions