# temp-postgres
Easy temporary postgresql instance for unit tests.
Use the [`TempPostgres`] struct to get a [`tokio_postgres::Client`] that is connected to a temporary postgres instance.
All state of the spawned postgres instance is stored in a temporary directory, which will be cleaned up automatically (unless disabled).
On Unix platforms, the client is connected over a Unix socket.
Windows support is planned by picking a free TCP port on the loopback adapter.
## Example
See the [example in the repository](https://github.com/rocsys/temp-postgres/blob/main/examples/example.rs) for a more detailed example using [`assert2`](https://crates.io/crates/assert2).
```rust
use temp_postgres::TempPostgres;
let postgres = TempPostgres::new().await?;
println!("Using temporary directory: {}", postgres.directory().display());
let client = postgres.client().await?;
client.execute("CREATE TABLE pets (name TEXT PRIMARY KEY, species TEXT)", &[]).await?;
License: MIT