-
-
Notifications
You must be signed in to change notification settings - Fork 199
Add pgvectorscale extension #1723
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added pgvector scale and did some basic refactoring
Thanks for the PR! Unfortunately we can't accept this contribution since we have no plans to support pgvectorscale. You can vote for the extension here and depending on demand we may add it in the future. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Key Files Modified
Testing Validation
The implementation includes comprehensive test coverage:
Build verification:
Additional context
This integration incorporates pgvectorscale from [timescale/pgvectorscale](https://github.com/timescale/pgvectorscale), providing a high-performance complement to pgvector for cost-efficient vector search on large workloads.
What kind of change does this PR introduce?
Feature addition - Integration of pgvectorscale extension and build system improvements.
What is the current behavior?
The Nix-based PostgreSQL builds currently include only pgvector for vector operations.
What is the new behavior?
Core Features Added
Testing Infrastructure
Performance Characteristics
Based on benchmarks with 50M Cohere embeddings (768 dimensions):
Key Files Modified
Build System Refactoring
default.nix
wrapper in cargo-pgrx module@build verification:
Additional context
This integration incorporates pgvectorscale from [timescale/pgvectorscale](https://github.com/timescale/pgvectorscale), providing a high-performance complement to pgvector for cost-efficient vector search on large workloads.
Special thanks to TigerData for the performance benchmarking insights and to the pgvectorscale team at Timescale for developing this high-performance vector search solution.
Note: As someone new to both Nix and Rust ecosystems, I've approached this integration through systematic problem-solving and extensive testing. To better understand and work with the existing codebase, I also made some refactoring changes - removing debug code, consolidating functions, and simplifying where I could. These changes were primarily to help me understand the code better as I worked on the integration, not because I necessarily know the optimal structure.
I welcome feedback from the community on how to improve the implementation, particularly around: