43 个版本 (15 个破坏性更新)
新 0.16.2 | 2024年8月24日 |
---|---|
0.15.0 | 2024年8月1日 |
0.14.2 | 2024年7月17日 |
0.7.3 | 2024年3月25日 |
#905 in 数据库接口
每月 3,189 次下载
用于 5 个 Crates (2 个直接使用)
110KB
2.5K SLoC
PostgreSQL 归档
一个可配置的库,用于下载和提取 PostgreSQL 归档。
示例
异步 API
use postgresql_archive::{extract, get_archive, Result, VersionReq};
use postgresql_archive::configuration::theseus;
#[tokio::main]
async fn main() -> Result<()> {
let url = theseus::URL;
let (archive_version, archive) = get_archive(url, &VersionReq::STAR).await?;
let out_dir = std::env::temp_dir();
extract(url, &archive, &out_dir).await
}
同步 API
use postgresql_archive::configuration::theseus;
use postgresql_archive::{Result, VersionReq};
use postgresql_archive::blocking::{extract, get_archive};
fn main() -> Result<()> {
let url = theseus::URL;
let (archive_version, archive) = get_archive(url, &VersionReq::STAR)?;
let out_dir = std::env::temp_dir();
extract(url, &archive, &out_dir)
}
功能标志
postgresql_archive 使用 [功能标志] 来处理编译时间和二进制大小。
以下功能可用
名称 | 描述 | 默认? |
---|---|---|
blocking |
启用阻塞 API | 否 |
native-tls |
启用 native-tls 支持 | 是 |
rustls-tls |
启用 rustls-tls 支持 | 否 |
配置
名称 | 描述 | 默认? |
---|---|---|
theseus |
启用 theseus PostgreSQL 二进制文件 | 是 |
zonky |
启用 zonky PostgreSQL 二进制文件 | 否 |
散列器
名称 | 描述 | 默认? |
---|---|---|
md5 |
启用 md5 散列器 | 否 |
sha1 |
启用 sha1 散列器 | 否 |
sha2 |
启用 sha2 散列器 | 是¹ |
¹ 由 theseus
功能标志启用。
仓库
名称 | 描述 | 默认? |
---|---|---|
github |
启用 github 仓库 | 是¹ |
maven |
启用 maven 仓库 | 否 |
¹ 由 theseus
功能标志启用。
支持的平台
postgresql_archive
提供以下实现
安全性
此 crate 使用 #![forbid(unsafe_code)]
来确保所有内容都以 100% 安全的 Rust 实现。
许可证
根据以下任一项许可
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交的任何贡献,均应根据上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~18–35MB
~593K SLoC