pgdb 0.3.0

Creates and runs Postgres databases through Rust in temporary directories, cleaned up on drop
Documentation

Runs Postgres instances.

pgdb supports configuring and starting a Postgres database instance through a builder pattern, with shutdown and cleanup on Drop.

Example

let user = "dev";
let pw = "devpw";
let db = "dev";

// Run a postgres instance on port `15432`.
let pg = pgdb::Postgres::build()
.start()
.expect("could not build postgres database");

// We can now create a regular user and a database.
pg.as_superuser()
.create_user(user, pw)
.expect("could not create normal user");

pg.as_superuser()
.create_database(db, user)
.expect("could not create normal user's db");

// Now we can run DDL commands, e.g. creating a table.
let client = pg.as_user(user, pw);
client
.run_sql(db, "CREATE TABLE foo (id INT PRIMARY KEY);")
.expect("could not run table creation command");