postgresql_extensions 0.19.0

A library for managing PostgreSQL extensions
Documentation
# PostgreSQL Extensions

[![ci](https://github.com/theseus-rs/postgresql-embedded/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/theseus-rs/postgresql-embedded/actions/workflows/ci.yml)
[![Documentation](https://docs.rs/postgresql_extensions/badge.svg)](https://docs.rs/postgresql_extensions)
[![Code Coverage](https://codecov.io/gh/theseus-rs/postgresql-embedded/branch/main/graph/badge.svg)](https://codecov.io/gh/theseus-rs/postgresql-embedded)
[![Benchmarks](https://img.shields.io/badge/%F0%9F%90%B0_bencher-enabled-6ec241)](https://bencher.dev/perf/theseus-rs-postgresql-embedded)
[![Latest version](https://img.shields.io/crates/v/postgresql_extensions.svg)](https://crates.io/crates/postgresql_extensions)
[![License](https://img.shields.io/crates/l/postgresql_extensions?)](https://github.com/theseus-rs/postgresql-embedded/tree/main/postgresql_extensions#license)
[![Semantic Versioning](https://img.shields.io/badge/%E2%9A%99%EF%B8%8F_SemVer-2.0.0-blue)](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:

| Name         | Description                | Default? |
|--------------|----------------------------|----------|
| `blocking`   | Enables the blocking API   | No       |
| `native-tls` | Enables native-tls support | Yes      |
| `rustls-tls` | Enables rustls-tls support | No       |

### Repositories

| Name           | Description                               | Default? |
|----------------|-------------------------------------------|----------|
| `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.