Skip to content

PostgreSQL Access Methods disabled - CREATE INDEX USING ruhnsw not available #48

@ruvnet

Description

@ruvnet

Priority: High

Current Behavior

PostgreSQL access methods (HNSW, IVFFlat) are disabled. Users cannot use:

CREATE INDEX ON table USING ruhnsw (embedding ruvector_l2_ops);
CREATE INDEX ON table USING ruivfflat (embedding ruvector_l2_ops);

Root Cause

The pgrx access method API is not yet stable. Access method registration requires unsafe FFI that may change between pgrx versions.

Workaround

Users can use in-memory indexes via the Rust API or function calls, but not PostgreSQL's native indexing.

Technical Details

  • Location: crates/ruvector-postgres/src/index/
  • Blocked by: pgrx access method API stabilization

Acceptance Criteria

  • Monitor pgrx releases for stable access method API
  • Implement HNSW access method when API stabilizes
  • Implement IVFFlat access method
  • Add index operator classes (ruvector_l2_ops, ruvector_cosine_ops, etc.)
  • Integration tests with CREATE INDEX

Impact

Critical for production use - without native indexes, vector search requires sequential scans.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions