# PostgreSQL Extensions
[](https://github.com/theseus-rs/postgresql-embedded/actions/workflows/ci.yml)
[](https://docs.rs/postgresql_extensions)
[](https://codecov.io/gh/theseus-rs/postgresql-embedded)
[](https://bencher.dev/perf/theseus-rs-postgresql-embedded)
[](https://crates.io/crates/postgresql_extensions)
[](https://github.com/theseus-rs/postgresql-embedded/tree/main/postgresql_extensions#license)
[](https://semver.org/spec/v2.0.0.html)
A configurable library for managing PostgreSQL extensions.
## Examples
### Asynchronous API
```rust
use postgresql_extensions::{get_available_extensions, Result};
#[tokio::main]
async fn main() -> Result<()> {
let extensions = get_available_extensions().await?;
Ok(())
}
```
### Synchronous API
```rust
use postgresql_extensions::Result;
use postgresql_extensions::blocking::get_available_extensions;
async fn main() -> Result<()> {
let extensions = get_available_extensions().await?;
Ok(())
}
```
## Feature flags
postgresql_extensions uses [feature flags] to address compile time and binary size
uses.
The following features are available:
| `blocking` | Enables the blocking API | No |
| `native-tls` | Enables native-tls support | Yes |
| `rustls-tls` | Enables rustls-tls support | No |
### Repositories
| `portal-corp` | Enables PortalCorp PostgreSQL extensions | Yes |
| `steampipe` | Enables Steampipe PostgreSQL extensions | Yes |
| `tensor-chord` | Enables TensorChord PostgreSQL extensions | Yes |
## Supported platforms
`postgresql_extensions` provides implementations for the following:
* [steampipe/repositories](https://github.com/orgs/turbot/repositories)
* [tensor-chord/pgvecto.rs](https://github.com/tensor-chord/pgvecto.rs)
## Safety
This crate uses `#![forbid(unsafe_code)]` to ensure everything is implemented in 100% safe Rust.
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or https://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT)
at your option.
## 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.