SQLx – The Rust SQL Toolkit
10 months ago
- #Async
- #SQL
- #Rust
- SQLx 是一个异步的、纯 Rust 实现的 SQL 工具包,支持编译时查询检查。
- 支持 PostgreSQL、MySQL、MariaDB、SQLite(0.7 版本移除了对 MSSQL 的支持)。
- 真正的异步实现,基于 async/await 实现最高并发性能。
- 数据库无关且运行时无关(支持 async-std、tokio、actix)。
- 纯 Rust 编写的 Postgres 和 MySQL/MariaDB 驱动,零 unsafe 代码。
- 跨平台兼容,可在任何支持 Rust 的环境运行。
- 内置 `sqlx::Pool` 连接池功能。
- 支持行流式异步数据读取和解码。
- 自动语句准备和缓存优化高阶查询。
- 为 MySQL、MariaDB 和 PostgreSQL 提供 TLS 支持。
- 通过 `LISTEN` 和 `NOTIFY` 实现 PostgreSQL 异步通知。
- 支持带保存点的嵌套事务。
- 任意数据库驱动实现运行时数据库切换。
- 离线模式支持无数据库的编译时查询验证。
- 提供连接池和查询执行的示例用法。
- 同时支持预处理和非预处理查询。
- 高阶查询接口:fetch、fetch_one、fetch_optional、fetch_all。
- `query!` 和 `query_as!` 宏提供编译时 SQL 验证。
- 采用 Apache 2.0 或 MIT 许可证授权。