pgtrgm
PostgreSQL pg_trgm extension support for Diesel and SQLx.
This crate provides bindings for PostgreSQL's pg_trgm extension, enabling trigram-based text similarity matching and fuzzy search.
Features
- Diesel support - Full query builder integration with operators and functions
- SQLx support - Helper functions and SQL constants for raw queries
- Trigram similarity operators (
%,<%,%>,<<%,%>>) - Distance operators (
<->,<<->,<->>,<<<->,<->>>)
Installation
Add this to your Cargo.toml:
[]
# For Diesel users
= { = "0.1", = ["diesel"] }
# For SQLx users
= { = "0.1", = ["sqlx"] }
# Or both
= { = "0.1", = ["diesel", "sqlx"] }
PostgreSQL Setup
Ensure the pg_trgm extension is enabled in your database:
CREATE EXTENSION IF NOT EXISTS pg_trgm;
For optimal performance, create a GIN index on columns you'll search:
(name gin_trgm_ops);
Usage
See the API documentation for detailed usage examples.
Acknowledgments
This crate is inspired by triforce_rs.
Contributing
Contributions are welcome! Please read our Contributing Guide for details on how to submit pull requests, report issues, and contribute to the project.
License
This project is licensed under the MIT License - see the LICENSE.txt file for details.