ctron / postgresql-embedded

Embed PostgreSQL database

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PostgreSQL Embedded

ci Documentation Code Coverage Benchmarks Latest version License Semantic Versioning

Install and run a PostgreSQL database locally on Linux, MacOS or Windows. PostgreSQL can be bundled with your application, or downloaded on demand.

Getting Started

Example

use postgresql_embedded::{PostgreSQL, Result};

#[tokio::main]
async fn main() -> Result<()> {
    let mut postgresql = PostgreSQL::default();
    postgresql.setup().await?;
    postgresql.start().await?;

    let database_name = "test";
    postgresql.create_database(database_name).await?;
    postgresql.database_exists(database_name).await?;
    postgresql.drop_database(database_name).await?;

    postgresql.stop().await
}

Safety

These crates use #![forbid(unsafe_code)] to ensure everything is implemented in 100% safe Rust.

License

Licensed under either of

at your option.

PostgreSQL is covered under The PostgreSQL License.

Notes

Uses PostgreSQL binaries from theseus-rs/postgresql-binaries.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

VSCode Development Container
GitHub Codespaces

Prior Art

Projects that inspired this one:

About

Embed PostgreSQL database

License:Apache License 2.0


Languages

Language:Rust 100.0%Language:Dockerfile 0.0%