#postgresql #copy #sql #query-execution

postgres-binary-copy

支持使用postgres进行二进制格式COPY查询的执行

9个不稳定版本 (4个重大变更)

使用旧的Rust 2015

0.5.0 2017年7月23日
0.3.1 2016年11月6日
0.2.1 2016年4月2日
0.2.0 2016年1月4日
0.1.0 2015年7月4日

数据库接口中排名2578

Download history 9/week @ 2024-03-08 4/week @ 2024-03-15 15/week @ 2024-03-29 3/week @ 2024-04-05 3/week @ 2024-05-17 1/week @ 2024-05-24

每月下载量76

MIT许可协议MIT

23KB
503 代码行

postgres-binary-copy

CircleCI Latest Version

支持使用rust-postgres进行二进制格式COPY查询的执行。

文档

示例

extern crate postgres;
extern crate postgres_binary_copy;

use postgres::{Connection, TlsMode};
use postgres::types::{Type, ToSql};
use postgres_binary_copy::BinaryCopyReader;

fn main() {
    let conn = Connection::connect("postgres://postgres@localhost",
                                   TlsMode::None).unwrap();

    conn.execute("CREATE TABLE foo (id INT PRIMARY KEY, bar VARCHAR)", &[])
        .unwrap();

    let types = &[Type::Int4, Type::Varchar];
    let data: Vec<Box<ToSql>> = vec![Box::new(1i32), Box::new("hello"),
                                     Box::new(2i32), Box::new("world")];
    let data = data.iter().map(|v| &**v);
    let mut reader = BinaryCopyReader::new(types, data);

    let stmt = conn.prepare("COPY foo (id, bar) FROM STDIN (FORMAT binary)").unwrap();
    stmt.copy_in(&[], &mut reader).unwrap();
}

依赖项

~5MB
~111K SLoC