Expand description
§PostgreSQL Extensions
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:
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:
§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 or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (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.
Re-exports§
pub use extensions::get_available_extensions;
pub use extensions::get_installed_extensions;
pub use extensions::install;
pub use extensions::uninstall;
Modules§
Structs§
- Available
Extension - A struct representing an available extension.
- Installed
Configuration - A struct representing an installed configuration.
- Installed
Extension - A struct representing an installed extension.
- Version
- SemVer version as defined by https://semver.org.
- Version
Req - 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