Crate postgresql_extensions

Source
Expand description

§PostgreSQL Extensions

ci Documentation Code Coverage Benchmarks Latest version License Semantic Versioning

A configurable library for managing PostgreSQL extensions.

§Examples

§Asynchronous API

use postgresql_extensions::{get_available_extensions, Result};

#[tokio::main]
async fn main() -> Result<()> {
    let extensions = get_available_extensions().await?;
    Ok(())
}

§Synchronous API

#[cfg(feature = "blocking")] {
use postgresql_extensions::Result;
use postgresql_extensions::blocking::get_available_extensions;

let extensions = get_available_extensions().unwrap();
}

§Feature flags

postgresql_extensions uses [feature flags] to address compile time and binary size uses.

The following features are available:

NameDescriptionDefault?
blockingEnables the blocking APINo
native-tlsEnables native-tls supportYes
rustls-tlsEnables rustls-tls supportNo

§Repositories

NameDescriptionDefault?
portal-corpEnables PortalCorp PostgreSQL extensionsYes
steampipeEnables Steampipe PostgreSQL extensionsYes
tensor-chordEnables TensorChord PostgreSQL extensionsYes

§Supported platforms

postgresql_extensions provides implementations for the following:

§Safety

This crate uses #![forbid(unsafe_code)] to ensure everything is implemented in 100% safe Rust.

§License

Licensed under either of

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.

Re-exports§

pub use extensions::get_available_extensions;
pub use extensions::get_installed_extensions;
pub use extensions::install;
pub use extensions::uninstall;

Modules§

extensions
repository

Structs§

AvailableExtension
A struct representing an available extension.
InstalledConfiguration
A struct representing an installed configuration.
InstalledExtension
A struct representing an installed extension.
Version
SemVer version as defined by https://semver.org.
VersionReq
SemVer version requirement describing the intersection of some version comparators, such as >=1.2.3, <1.8.

Enums§

Error
PostgreSQL extensions errors

Functions§

matcher
Default asset matcher that matches the asset name to the postgresql major version, target triple or OS/CPU architecture.
tar_gz_matcher
.tar.gz asset matcher that matches the asset name to the postgresql major version, target triple or OS/CPU architecture.
zip_matcher
.zip asset matcher that matches the asset name to the postgresql major version, target triple or OS/CPU architecture.

Type Aliases§

Result
PostgreSQL extensions result type