#postgresql #archive #backup #dump #format #statement #pgdump

bin+lib pgarchive

读取 PostgreSQL 自定义格式存档

4 个版本 (2 个重大变更)

0.3.0 2023年10月4日
0.2.0 2023年10月3日
0.0.1 2023年10月2日
0.0.0 2023年10月2日

#1223 in 数据库接口

MIT 许可证

42KB
887 代码行

自定义格式的 PostgreSQL 备份解析器

此crate允许检查使用 pg_dump -Fcpg_dump --format=custom 创建的 PostgreSQL 备份的内容,并提供对所有原始表数据的直接访问。如果您不相信存档中嵌入的 SQL 语句,或者想要在不将其加载到数据库中处理数据的情况下处理数据,这可能很有用。

use std::fs::File;
use pgarchive::Archive;

let mut file = File::open("tests/test.pgdump").unwrap();
match Archive::parse(&mut file) {
    Ok(archive) => println!("This is a backup of {}", archive.database_name),
    Err(e) => println!("can not read file: {:?}", e),
};

lib.rs:

自定义格式的 PostgreSQL 备份解析器

此crate允许检查使用 pg_dump -Fcpg_dump --format=custom 创建的 PostgreSQL 备份的内容,并提供对所有原始表数据的直接访问。如果您不相信存档中嵌入的 SQL 语句,或者想要在不将其加载到数据库中处理数据的情况下处理数据,这可能很有用。

use std::fs::File;
use pgarchive::Archive;

let mut file = File::open("tests/test.pgdump").unwrap();
match Archive::parse(&mut file) {
    Ok(archive) => println!("This is a backup of {}", archive.database_name),
    Err(e) => println!("can not read file: {:?}", e),
};

依赖项

~1.5–2.3MB
~41K SLoC