[package]
edition = "2021"
rust-version = "1.89"
name = "pgwire"
version = "0.37.3"
authors = ["Ning Sun <sunng@pm.me>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Postgresql wire protocol implemented as a library"
homepage = "https://github.com/sunng87/pgwire"
documentation = "https://docs.rs/crate/pgwire/"
readme = "README.md"
keywords = [
"database",
"postgresql",
]
categories = ["database"]
license = "MIT/Apache-2.0"
repository = "https://github.com/sunng87/pgwire"
[features]
_aws-lc-rs = [
"dep:aws-lc-rs",
"tokio-rustls/aws-lc-rs",
"dep:rustls-pki-types",
"dep:base64",
"dep:stringprep",
"dep:x509-certificate",
]
_bundled = ["rusqlite/bundled"]
_ring = [
"dep:ring",
"tokio-rustls/ring",
"dep:rustls-pki-types",
"dep:base64",
"dep:stringprep",
"dep:x509-certificate",
]
_sqlite = []
client-api = [
"dep:percent-encoding",
"dep:pin-project",
"dep:tokio",
"dep:tokio-util",
"dep:futures",
"dep:async-trait",
"dep:md5",
]
client-api-aws-lc-rs = [
"client-api",
"_aws-lc-rs",
"dep:rustls-pki-types",
]
client-api-ring = [
"client-api",
"_ring",
"dep:rustls-pki-types",
]
default = [
"server-api-aws-lc-rs",
"pg-ext-types",
]
pg-ext-types = [
"pg-type-chrono",
"pg-type-rust-decimal",
"pg-type-serde-json",
]
pg-type-chrono = [
"dep:chrono",
"postgres-types/with-chrono-0_4",
]
pg-type-postgis = ["dep:postgis"]
pg-type-rust-decimal = ["dep:rust_decimal"]
pg-type-serde-json = [
"dep:serde",
"dep:serde_json",
"postgres-types/with-serde_json-1",
]
server-api = [
"dep:tokio",
"dep:tokio-util",
"dep:futures",
"dep:async-trait",
"dep:rand",
"dep:md5",
"dep:hex",
"dep:postgres-types",
"dep:serde_json",
"dep:pg_interval",
]
server-api-aws-lc-rs = [
"server-api",
"_aws-lc-rs",
]
server-api-ring = [
"server-api",
"_ring",
]
simple-oidc-validator = [
"dep:jsonwebtoken",
"dep:rsa",
"dep:reqwest",
"dep:base64",
"dep:serde",
]
[lib]
name = "pgwire"
path = "src/lib.rs"
[[example]]
name = "bench"
path = "examples/bench.rs"
required-features = ["server-api-aws-lc-rs"]
[[example]]
name = "client"
path = "examples/client.rs"
required-features = ["client-api"]
[[example]]
name = "copy"
path = "examples/copy.rs"
required-features = ["server-api-aws-lc-rs"]
[[example]]
name = "gluesql"
path = "examples/gluesql.rs"
required-features = ["server-api-aws-lc-rs"]
[[example]]
name = "keycloak_oauth"
path = "examples/keycloak_oauth.rs"
required-features = ["server-api-aws-lc-rs"]
[[example]]
name = "oauth"
path = "examples/oauth.rs"
required-features = [
"server-api-aws-lc-rs",
"simple-oidc-validator",
]
[[example]]
name = "scram"
path = "examples/scram.rs"
required-features = ["server-api-aws-lc-rs"]
[[example]]
name = "secure_server"
path = "examples/secure_server.rs"
required-features = ["server-api-aws-lc-rs"]
[[example]]
name = "server"
path = "examples/server.rs"
required-features = ["server-api-aws-lc-rs"]
[[example]]
name = "sqlite"
path = "examples/sqlite.rs"
required-features = [
"server-api-aws-lc-rs",
"_sqlite",
]
[[example]]
name = "transaction"
path = "examples/transaction.rs"
required-features = ["server-api-aws-lc-rs"]
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.aws-lc-rs]
version = "1.7"
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bytes]
version = "1.1.0"
[dependencies.chrono]
version = "0.4"
features = ["std"]
optional = true
[dependencies.derive-new]
version = "0.7"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.hex]
version = "0.4"
optional = true
[dependencies.jsonwebtoken]
version = "10"
features = ["aws_lc_rs"]
optional = true
[dependencies.lazy-regex]
version = "3.3"
features = ["lite"]
default-features = false
[dependencies.md5]
version = "0.8"
optional = true
[dependencies.percent-encoding]
version = "2.0"
optional = true
[dependencies.pg_interval]
version = "0.5.1"
optional = true
package = "pg_interval_2"
[dependencies.pin-project]
version = "1.1"
optional = true
[dependencies.postgis]
version = "0.9"
optional = true
[dependencies.postgres-types]
version = "0.2"
features = ["array-impls"]
optional = true
[dependencies.rand]
version = "0.9"
optional = true
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"rustls-no-provider",
]
optional = true
[dependencies.ring]
version = "0.17"
optional = true
[dependencies.rsa]
version = "0.9"
optional = true
[dependencies.rust_decimal]
version = "1.35"
features = ["db-postgres"]
optional = true
[dependencies.rustls-pki-types]
version = "1.10"
optional = true
[dependencies.ryu]
version = "1"
[dependencies.serde]
version = "1"
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.smol_str]
version = "0.3.2"
[dependencies.stringprep]
version = "0.1.2"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1.19"
features = [
"net",
"rt",
"io-util",
"macros",
"time",
]
optional = true
[dependencies.tokio-rustls]
version = "0.26.2"
features = [
"logging",
"tls12",
]
optional = true
default-features = false
[dependencies.tokio-util]
version = "0.7.3"
features = [
"codec",
"io",
]
optional = true
[dependencies.x509-certificate]
version = "0.25"
optional = true
[dev-dependencies.chrono-tz]
version = "0.10"
[dev-dependencies.gluesql]
version = "0.19"
features = ["gluesql_memory_storage"]
default-features = false
[dev-dependencies.jsonwebtoken]
version = "10"
features = ["aws_lc_rs"]
[dev-dependencies.reqwest]
version = "0.13"
features = ["json"]
[dev-dependencies.rsa]
version = "0.9"
[dev-dependencies.rusqlite]
version = "0.38.0"
features = ["column_decltype"]
[dev-dependencies.rustls-pemfile]
version = "2.0"
[dev-dependencies.rustls-pki-types]
version = "1.10"
[dev-dependencies.tokio]
version = "1.19"
features = [
"rt-multi-thread",
"net",
"macros",
"time",
]