diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
deleted file mode 100644
index ee557c0..0000000
--- a/.devcontainer/Dockerfile
+++ /dev/null
@@ -1,2 +0,0 @@
-ARG VARIANT="bullseye"
-FROM mcr.microsoft.com/vscode/devcontainers/rust:1-${VARIANT}
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
deleted file mode 100644
index 377300f..0000000
--- a/.devcontainer/devcontainer.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "Rust",
- "build": {
- "dockerfile": "Dockerfile",
- "args": {
- "VARIANT": "bullseye"
- }
- },
- "runArgs": [
- "--cap-add=SYS_PTRACE",
- "--security-opt",
- "seccomp=unconfined"
- ],
-
- "customizations": {
- "vscode": {
- "settings": {
- "lldb.executable": "/usr/bin/lldb",
- "files.watcherExclude": {
- "**/target/**": true
- },
- "rust-analyzer.checkOnSave.command": "clippy"
- },
-
- // Add the IDs of extensions you want installed when the container is created.
- "extensions": [
- "mutantdino.resourcemonitor",
- "rust-lang.rust-analyzer",
- "serayuzgur.crates",
- "tamasfe.even-better-toml",
- "vadimcn.vscode-lldb"
- ]
- }
- },
-
- "remoteUser": "vscode"
-}
diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml
index 1ee2e8d..2851793 100644
--- a/.github/workflows/benchmarks.yml
+++ b/.github/workflows/benchmarks.yml
@@ -41,7 +41,7 @@ jobs:
--ci-number "${{ github.event.number }}" \
--github-actions "${{ secrets.GITHUB_TOKEN }}" \
--err \
- "cargo bench"
+ "cargo bench --features blocking"
- name: Run benchmarks
if: ${{ github.event_name != 'pull_request' }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 717c547..87abce6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,54 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## `postgresql_extensions` - [0.20.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_extensions-v0.19.0...postgresql_extensions-v0.20.0) - 2025-08-31
+
+### Fixed
+- always use the build version of postgresql when the bundled feature is enabled to avoid network access
+
+### Other
+- remove devcontainer support
+
+## `postgresql_embedded` - [0.20.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.19.0...v0.20.0) - 2025-08-31
+
+### Fixed
+- always use the build version of postgresql when the bundled feature is enabled to avoid network access
+- [**breaking**] rename pg_dump compression argument to compress
+
+### Other
+- minor doc updates
+- remove devcontainer support
+- correct lint errors
+- update to Rust 1.89.0
+
+## `postgresql_commands` - [0.20.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_commands-v0.19.0...postgresql_commands-v0.20.0) - 2025-08-31
+
+### Fixed
+- [**breaking**] rename pg_dump compression argument to compress
+
+### Other
+- remove devcontainer support
+
+## `postgresql_archive` - [0.20.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.19.0...postgresql_archive-v0.20.0) - 2025-08-31
+
+### Other
+- minor doc updates
+- remove devcontainer support
+
+## `postgresql_embedded` - [0.19.0](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.7...v0.19.0) - 2025-06-24
+
+### Added
+- allow skipping the installation step during setup
+
+### Other
+- correct typo in variable name
+- update extractor feature documentation
+
+## `postgresql_archive` - [0.19.0](https://github.com/theseus-rs/postgresql-embedded/compare/postgresql_archive-v0.18.7...postgresql_archive-v0.19.0) - 2025-06-24
+
+### Other
+- update extractor feature documentation
+
## `postgresql_embedded` - [0.18.7](https://github.com/theseus-rs/postgresql-embedded/compare/v0.18.6...v0.18.7) - 2025-06-20
### Fixed
diff --git a/Cargo.lock b/Cargo.lock
index 979e68b..62a94d1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -40,9 +40,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
[[package]]
name = "anstream"
-version = "0.6.19"
+version = "0.6.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933"
+checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -70,42 +70,42 @@ dependencies = [
[[package]]
name = "anstyle-query"
-version = "1.1.3"
+version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9"
+checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2"
dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.9"
+version = "3.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882"
+checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a"
dependencies = [
"anstyle",
"once_cell_polyfill",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
name = "anyhow"
-version = "1.0.98"
+version = "1.0.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
+checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100"
[[package]]
name = "arbitrary"
-version = "1.4.1"
+version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223"
+checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
dependencies = [
"derive_arbitrary",
]
[[package]]
name = "archive_async"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"postgresql_archive",
"tempfile",
@@ -114,7 +114,7 @@ dependencies = [
[[package]]
name = "archive_sync"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"postgresql_archive",
"tempfile",
@@ -128,9 +128,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]]
name = "async-trait"
-version = "0.1.88"
+version = "0.1.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
+checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
dependencies = [
"proc-macro2",
"quote",
@@ -146,6 +146,12 @@ dependencies = [
"num-traits",
]
+[[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
[[package]]
name = "autocfg"
version = "1.5.0"
@@ -208,7 +214,7 @@ dependencies = [
[[package]]
name = "axum_embedded"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"axum",
@@ -249,9 +255,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.9.1"
+version = "2.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
+checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d"
[[package]]
name = "block-buffer"
@@ -264,9 +270,9 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.18.1"
+version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee"
+checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
[[package]]
name = "byteorder"
@@ -288,9 +294,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "cc"
-version = "1.2.27"
+version = "1.2.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc"
+checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc"
dependencies = [
"jobserver",
"libc",
@@ -299,9 +305,9 @@ dependencies = [
[[package]]
name = "cfg-if"
-version = "1.0.1"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
+checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
[[package]]
name = "cfg_aliases"
@@ -338,18 +344,18 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.40"
+version = "4.5.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f"
+checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
-version = "4.5.40"
+version = "4.5.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e"
+checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41"
dependencies = [
"anstyle",
"clap_lex",
@@ -378,15 +384,15 @@ dependencies = [
[[package]]
name = "console"
-version = "0.15.11"
+version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8"
+checksum = "2e09ced7ebbccb63b4c65413d821f2e00ce54c5ca4514ddc6b3c892fdbcbc69d"
dependencies = [
"encode_unicode",
"libc",
"once_cell",
"unicode-width 0.2.1",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -441,25 +447,25 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]]
name = "crc32fast"
-version = "1.4.2"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
+checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
dependencies = [
"cfg-if",
]
[[package]]
name = "criterion"
-version = "0.6.0"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bf7af66b0989381bd0be551bd7cc91912a655a58c6918420c9527b1fd8b4679"
+checksum = "e1c047a62b0cc3e145fa84415a3191f628e980b194c2755aa12300a4e6cbd928"
dependencies = [
"anes",
"cast",
"ciborium",
"clap",
"criterion-plot",
- "itertools 0.13.0",
+ "itertools",
"num-traits",
"oorandom",
"plotters",
@@ -473,12 +479,12 @@ dependencies = [
[[package]]
name = "criterion-plot"
-version = "0.5.0"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+checksum = "9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338"
dependencies = [
"cast",
- "itertools 0.10.5",
+ "itertools",
]
[[package]]
@@ -517,9 +523,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
[[package]]
name = "crunchy"
-version = "0.2.3"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
+checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]]
name = "crypto-common"
@@ -568,9 +574,9 @@ dependencies = [
[[package]]
name = "derive_arbitrary"
-version = "1.4.1"
+version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
+checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
dependencies = [
"proc-macro2",
"quote",
@@ -579,11 +585,11 @@ dependencies = [
[[package]]
name = "diesel"
-version = "2.2.11"
+version = "2.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a917a9209950404d5be011c81d081a2692a822f73c3d6af586f0cab5ff50f614"
+checksum = "229850a212cd9b84d4f0290ad9d294afc0ae70fccaa8949dbe8b43ffafa1e20c"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
"byteorder",
"diesel_derives",
"itoa",
@@ -593,9 +599,9 @@ dependencies = [
[[package]]
name = "diesel_derives"
-version = "2.2.6"
+version = "2.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52841e97814f407b895d836fa0012091dff79c6268f39ad8155d384c21ae0d26"
+checksum = "1b96984c469425cb577bf6f17121ecb3e4fe1e81de5d8f780dd372802858d756"
dependencies = [
"diesel_table_macro_syntax",
"dsl_auto_type",
@@ -606,7 +612,7 @@ dependencies = [
[[package]]
name = "diesel_embedded"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"diesel",
"diesel_migrations",
@@ -665,7 +671,7 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
[[package]]
name = "download_progress_bar"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"indicatif",
@@ -702,7 +708,7 @@ dependencies = [
[[package]]
name = "embedded_async"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"postgresql_embedded",
"tokio",
@@ -710,7 +716,7 @@ dependencies = [
[[package]]
name = "embedded_sync"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"postgresql_embedded",
]
@@ -771,9 +777,9 @@ dependencies = [
[[package]]
name = "event-listener"
-version = "5.4.0"
+version = "5.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae"
+checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab"
dependencies = [
"concurrent-queue",
"parking",
@@ -794,14 +800,14 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]]
name = "filetime"
-version = "0.2.25"
+version = "0.2.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
+checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed"
dependencies = [
"cfg-if",
"libc",
"libredox",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -844,9 +850,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "form_urlencoded"
-version = "1.2.1"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
dependencies = [
"percent-encoding",
]
@@ -984,7 +990,7 @@ dependencies = [
"js-sys",
"libc",
"r-efi",
- "wasi 0.14.2+wasi-0.2.4",
+ "wasi 0.14.3+wasi-0.2.4",
"wasm-bindgen",
]
@@ -1006,9 +1012,9 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.15.4"
+version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
+checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
dependencies = [
"allocator-api2",
"equivalent",
@@ -1111,19 +1117,21 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hyper"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
+checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e"
dependencies = [
+ "atomic-waker",
"bytes",
"futures-channel",
- "futures-util",
+ "futures-core",
"http",
"http-body",
"httparse",
"httpdate",
"itoa",
"pin-project-lite",
+ "pin-utils",
"smallvec",
"tokio",
"want",
@@ -1164,9 +1172,9 @@ dependencies = [
[[package]]
name = "hyper-util"
-version = "0.1.14"
+version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb"
+checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e"
dependencies = [
"base64",
"bytes",
@@ -1180,7 +1188,7 @@ dependencies = [
"libc",
"percent-encoding",
"pin-project-lite",
- "socket2",
+ "socket2 0.6.0",
"tokio",
"tower-service",
"tracing",
@@ -1280,9 +1288,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "idna"
-version = "1.0.3"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
+checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
dependencies = [
"idna_adapter",
"smallvec",
@@ -1301,9 +1309,9 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.9.0"
+version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
+checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9"
dependencies = [
"equivalent",
"hashbrown",
@@ -1311,14 +1319,14 @@ dependencies = [
[[package]]
name = "indicatif"
-version = "0.17.11"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235"
+checksum = "70a646d946d06bedbbc4cac4c218acf4bbf2d87757a784857025f4d447e4e1cd"
dependencies = [
"console",
- "number_prefix",
"portable-atomic",
"unicode-width 0.2.1",
+ "unit-prefix",
"vt100",
"web-time",
]
@@ -1341,6 +1349,17 @@ dependencies = [
"web-sys",
]
+[[package]]
+name = "io-uring"
+version = "0.7.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b"
+dependencies = [
+ "bitflags 2.9.3",
+ "cfg-if",
+ "libc",
+]
+
[[package]]
name = "ipnet"
version = "2.11.0"
@@ -1363,15 +1382,6 @@ version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
-[[package]]
-name = "itertools"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
-
[[package]]
name = "itertools"
version = "0.13.0"
@@ -1389,9 +1399,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
[[package]]
name = "jobserver"
-version = "0.1.33"
+version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a"
+checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
dependencies = [
"getrandom 0.3.3",
"libc",
@@ -1415,15 +1425,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
-version = "0.2.174"
+version = "0.2.175"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
+checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
[[package]]
name = "liblzma"
-version = "0.4.2"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0791ab7e08ccc8e0ce893f6906eb2703ed8739d8e89b57c0714e71bad09024c8"
+checksum = "10bf66f4598dc77ff96677c8e763655494f00ff9c1cf79e2eb5bb07bc31f807d"
dependencies = [
"liblzma-sys",
]
@@ -1441,13 +1451,13 @@ dependencies = [
[[package]]
name = "libredox"
-version = "0.1.3"
+version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
"libc",
- "redox_syscall 0.5.13",
+ "redox_syscall 0.5.17",
]
[[package]]
@@ -1495,11 +1505,11 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
[[package]]
name = "matchers"
-version = "0.1.0"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
dependencies = [
- "regex-automata 0.1.10",
+ "regex-automata",
]
[[package]]
@@ -1526,9 +1536,9 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
[[package]]
name = "migrations_internals"
-version = "2.2.0"
+version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd01039851e82f8799046eabbb354056283fb265c8ec0996af940f4e85a380ff"
+checksum = "3bda1634d70d5bd53553cf15dca9842a396e8c799982a3ad22998dc44d961f24"
dependencies = [
"serde",
"toml",
@@ -1590,12 +1600,11 @@ dependencies = [
[[package]]
name = "nu-ansi-term"
-version = "0.46.0"
+version = "0.50.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399"
dependencies = [
- "overload",
- "winapi",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -1617,12 +1626,6 @@ dependencies = [
"autocfg",
]
-[[package]]
-name = "number_prefix"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
-
[[package]]
name = "object"
version = "0.36.7"
@@ -1656,7 +1659,7 @@ version = "0.10.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
"cfg-if",
"foreign-types",
"libc",
@@ -1694,12 +1697,6 @@ dependencies = [
"vcpkg",
]
-[[package]]
-name = "overload"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
-
[[package]]
name = "parking"
version = "2.2.1"
@@ -1749,16 +1746,16 @@ checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.5.13",
+ "redox_syscall 0.5.17",
"smallvec",
"windows-targets 0.52.6",
]
[[package]]
name = "percent-encoding"
-version = "2.3.1"
+version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]]
name = "pgvector"
@@ -1841,7 +1838,7 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
[[package]]
name = "portal_corp_extension"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"indoc",
@@ -1881,7 +1878,7 @@ dependencies = [
"hmac",
"md-5",
"memchr",
- "rand 0.9.1",
+ "rand 0.9.2",
"sha2",
"stringprep",
]
@@ -1899,7 +1896,7 @@ dependencies = [
[[package]]
name = "postgres_embedded"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"postgres",
@@ -1908,7 +1905,7 @@ dependencies = [
[[package]]
name = "postgresql_archive"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"async-trait",
@@ -1934,7 +1931,7 @@ dependencies = [
"target-triple",
"tempfile",
"test-log",
- "thiserror 2.0.12",
+ "thiserror 2.0.16",
"tokio",
"tracing",
"tracing-indicatif",
@@ -1944,29 +1941,29 @@ dependencies = [
[[package]]
name = "postgresql_commands"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"test-log",
- "thiserror 2.0.12",
+ "thiserror 2.0.16",
"tokio",
"tracing",
]
[[package]]
name = "postgresql_embedded"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"criterion",
"postgresql_archive",
"postgresql_commands",
- "rand 0.9.1",
+ "rand 0.9.2",
"semver",
"sqlx",
"target-triple",
"tempfile",
"test-log",
- "thiserror 2.0.12",
+ "thiserror 2.0.16",
"tokio",
"tracing",
"url",
@@ -1974,7 +1971,7 @@ dependencies = [
[[package]]
name = "postgresql_extensions"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"async-trait",
@@ -1989,7 +1986,7 @@ dependencies = [
"target-triple",
"tempfile",
"test-log",
- "thiserror 2.0.12",
+ "thiserror 2.0.16",
"tokio",
"tracing",
"url",
@@ -1997,9 +1994,9 @@ dependencies = [
[[package]]
name = "potential_utf"
-version = "0.1.2"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
+checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a"
dependencies = [
"zerovec",
]
@@ -2025,18 +2022,18 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.95"
+version = "1.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
+checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quick-xml"
-version = "0.37.5"
+version = "0.38.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb"
+checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89"
dependencies = [
"memchr",
"serde",
@@ -2044,9 +2041,9 @@ dependencies = [
[[package]]
name = "quinn"
-version = "0.11.8"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8"
+checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
dependencies = [
"bytes",
"cfg_aliases",
@@ -2055,8 +2052,8 @@ dependencies = [
"quinn-udp",
"rustc-hash",
"rustls",
- "socket2",
- "thiserror 2.0.12",
+ "socket2 0.6.0",
+ "thiserror 2.0.16",
"tokio",
"tracing",
"web-time",
@@ -2064,20 +2061,20 @@ dependencies = [
[[package]]
name = "quinn-proto"
-version = "0.11.12"
+version = "0.11.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e"
+checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
dependencies = [
"bytes",
"getrandom 0.3.3",
"lru-slab",
- "rand 0.9.1",
+ "rand 0.9.2",
"ring",
"rustc-hash",
"rustls",
"rustls-pki-types",
"slab",
- "thiserror 2.0.12",
+ "thiserror 2.0.16",
"tinyvec",
"tracing",
"web-time",
@@ -2085,16 +2082,16 @@ dependencies = [
[[package]]
name = "quinn-udp"
-version = "0.5.13"
+version = "0.5.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970"
+checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd"
dependencies = [
"cfg_aliases",
"libc",
"once_cell",
- "socket2",
+ "socket2 0.6.0",
"tracing",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -2146,9 +2143,9 @@ dependencies = [
[[package]]
name = "rand"
-version = "0.9.1"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
+checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [
"rand_chacha 0.9.0",
"rand_core 0.9.3",
@@ -2194,9 +2191,9 @@ dependencies = [
[[package]]
name = "rayon"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
+checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
dependencies = [
"either",
"rayon-core",
@@ -2204,9 +2201,9 @@ dependencies = [
[[package]]
name = "rayon-core"
-version = "1.12.1"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
dependencies = [
"crossbeam-deque",
"crossbeam-utils",
@@ -2223,68 +2220,53 @@ dependencies = [
[[package]]
name = "redox_syscall"
-version = "0.5.13"
+version = "0.5.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6"
+checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
]
[[package]]
name = "regex"
-version = "1.11.1"
+version = "1.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912"
dependencies = [
"aho-corasick",
"memchr",
- "regex-automata 0.4.9",
- "regex-syntax 0.8.5",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-dependencies = [
- "regex-syntax 0.6.29",
+ "regex-automata",
+ "regex-syntax",
]
[[package]]
name = "regex-automata"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
+checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6"
dependencies = [
"aho-corasick",
"memchr",
- "regex-syntax 0.8.5",
+ "regex-syntax",
]
[[package]]
name = "regex-lite"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.29"
+version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+checksum = "943f41321c63ef1c92fd763bfe054d2668f7f225a5c29f0105903dc2fc04ba30"
[[package]]
name = "regex-syntax"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001"
[[package]]
name = "reqwest"
-version = "0.12.20"
+version = "0.12.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813"
+checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb"
dependencies = [
"base64",
"bytes",
@@ -2402,9 +2384,9 @@ dependencies = [
[[package]]
name = "rustc-demangle"
-version = "0.1.25"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f"
+checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace"
[[package]]
name = "rustc-hash"
@@ -2414,22 +2396,22 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
[[package]]
name = "rustix"
-version = "1.0.7"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
+checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
"errno",
"libc",
"linux-raw-sys",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
name = "rustls"
-version = "0.23.28"
+version = "0.23.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643"
+checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc"
dependencies = [
"once_cell",
"ring",
@@ -2448,7 +2430,7 @@ dependencies = [
"openssl-probe",
"rustls-pki-types",
"schannel",
- "security-framework 3.2.0",
+ "security-framework 3.3.0",
]
[[package]]
@@ -2463,9 +2445,9 @@ dependencies = [
[[package]]
name = "rustls-webpki"
-version = "0.103.3"
+version = "0.103.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435"
+checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc"
dependencies = [
"ring",
"rustls-pki-types",
@@ -2474,9 +2456,9 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.21"
+version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
+checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]]
name = "ryu"
@@ -2523,7 +2505,7 @@ version = "2.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
"core-foundation 0.9.4",
"core-foundation-sys",
"libc",
@@ -2532,11 +2514,11 @@ dependencies = [
[[package]]
name = "security-framework"
-version = "3.2.0"
+version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316"
+checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
"core-foundation 0.10.1",
"core-foundation-sys",
"libc",
@@ -2584,9 +2566,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.140"
+version = "1.0.143"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
+checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a"
dependencies = [
"itoa",
"memchr",
@@ -2606,9 +2588,9 @@ dependencies = [
[[package]]
name = "serde_spanned"
-version = "0.6.9"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
+checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83"
dependencies = [
"serde",
]
@@ -2664,9 +2646,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "signal-hook-registry"
-version = "1.4.5"
+version = "1.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410"
+checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b"
dependencies = [
"libc",
]
@@ -2685,9 +2667,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
[[package]]
name = "slab"
-version = "0.4.10"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d"
+checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
[[package]]
name = "smallvec"
@@ -2708,6 +2690,16 @@ dependencies = [
"windows-sys 0.52.0",
]
+[[package]]
+name = "socket2"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807"
+dependencies = [
+ "libc",
+ "windows-sys 0.59.0",
+]
+
[[package]]
name = "sqlx"
version = "0.8.6"
@@ -2748,7 +2740,7 @@ dependencies = [
"serde_json",
"sha2",
"smallvec",
- "thiserror 2.0.12",
+ "thiserror 2.0.16",
"tokio",
"tokio-stream",
"tracing",
@@ -2800,7 +2792,7 @@ checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
dependencies = [
"atoi",
"base64",
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
"byteorder",
"crc",
"dotenvy",
@@ -2824,14 +2816,14 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
- "thiserror 2.0.12",
+ "thiserror 2.0.16",
"tracing",
"whoami",
]
[[package]]
name = "sqlx_embedded"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"postgresql_embedded",
@@ -2870,9 +2862,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "syn"
-version = "2.0.103"
+version = "2.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8"
+checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
dependencies = [
"proc-macro2",
"quote",
@@ -2918,20 +2910,20 @@ checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790"
[[package]]
name = "tempfile"
-version = "3.20.0"
+version = "3.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
+checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e"
dependencies = [
"fastrand",
"getrandom 0.3.3",
"once_cell",
"rustix",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
name = "tensor_chord_extension"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"anyhow",
"indoc",
@@ -2945,9 +2937,9 @@ dependencies = [
[[package]]
name = "test-log"
-version = "0.2.17"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7f46083d221181166e5b6f6b1e5f1d499f3a76888826e6cb1d057554157cd0f"
+checksum = "1e33b98a582ea0be1168eba097538ee8dd4bbe0f2b01b22ac92ea30054e5be7b"
dependencies = [
"env_logger",
"test-log-macros",
@@ -2956,9 +2948,9 @@ dependencies = [
[[package]]
name = "test-log-macros"
-version = "0.2.17"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "888d0c3c6db53c0fdab160d2ed5e12ba745383d3e85813f2ea0f2b1475ab553f"
+checksum = "451b374529930d7601b1eef8d32bc79ae870b6079b069401709c2a8bf9e75f36"
dependencies = [
"proc-macro2",
"quote",
@@ -2976,11 +2968,11 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "2.0.12"
+version = "2.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
+checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0"
dependencies = [
- "thiserror-impl 2.0.12",
+ "thiserror-impl 2.0.16",
]
[[package]]
@@ -2996,9 +2988,9 @@ dependencies = [
[[package]]
name = "thiserror-impl"
-version = "2.0.12"
+version = "2.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
+checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960"
dependencies = [
"proc-macro2",
"quote",
@@ -3036,9 +3028,9 @@ dependencies = [
[[package]]
name = "tinyvec"
-version = "1.9.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
+checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa"
dependencies = [
"tinyvec_macros",
]
@@ -3051,20 +3043,22 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.45.1"
+version = "1.47.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779"
+checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038"
dependencies = [
"backtrace",
"bytes",
+ "io-uring",
"libc",
"mio",
"parking_lot 0.12.4",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "slab",
+ "socket2 0.6.0",
"tokio-macros",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -3107,8 +3101,8 @@ dependencies = [
"pin-project-lite",
"postgres-protocol",
"postgres-types",
- "rand 0.9.1",
- "socket2",
+ "rand 0.9.2",
+ "socket2 0.5.10",
"tokio",
"tokio-util",
"whoami",
@@ -3137,9 +3131,9 @@ dependencies = [
[[package]]
name = "tokio-util"
-version = "0.7.15"
+version = "0.7.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df"
+checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5"
dependencies = [
"bytes",
"futures-core",
@@ -3150,44 +3144,42 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.23"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
+checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8"
dependencies = [
+ "indexmap",
"serde",
"serde_spanned",
"toml_datetime",
- "toml_edit",
+ "toml_parser",
+ "toml_writer",
+ "winnow",
]
[[package]]
name = "toml_datetime"
-version = "0.6.11"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
+checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3"
dependencies = [
"serde",
]
[[package]]
-name = "toml_edit"
-version = "0.22.27"
+name = "toml_parser"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
+checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10"
dependencies = [
- "indexmap",
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_write",
"winnow",
]
[[package]]
-name = "toml_write"
-version = "0.1.2"
+name = "toml_writer"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
+checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64"
[[package]]
name = "tower"
@@ -3211,7 +3203,7 @@ version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.9.3",
"bytes",
"futures-util",
"http",
@@ -3270,9 +3262,9 @@ dependencies = [
[[package]]
name = "tracing-indicatif"
-version = "0.3.9"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8201ca430e0cd893ef978226fd3516c06d9c494181c8bf4e5b32e30ed4b40aa1"
+checksum = "04d4e11e0e27acef25a47f27e9435355fecdc488867fa2bc90e75b0700d2823d"
dependencies = [
"indicatif",
"tracing",
@@ -3293,14 +3285,14 @@ dependencies = [
[[package]]
name = "tracing-subscriber"
-version = "0.3.19"
+version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
+checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
dependencies = [
"matchers",
"nu-ansi-term",
"once_cell",
- "regex",
+ "regex-automata",
"sharded-slab",
"smallvec",
"thread_local",
@@ -3360,6 +3352,12 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c"
+[[package]]
+name = "unit-prefix"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "323402cff2dd658f39ca17c789b502021b3f18707c91cdf22e3838e1b4023817"
+
[[package]]
name = "untrusted"
version = "0.9.0"
@@ -3368,13 +3366,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "url"
-version = "2.5.4"
+version = "2.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
+checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b"
dependencies = [
"form_urlencoded",
"idna",
"percent-encoding",
+ "serde",
]
[[package]]
@@ -3467,11 +3466,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasi"
-version = "0.14.2+wasi-0.2.4"
+version = "0.14.3+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
+checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95"
dependencies = [
- "wit-bindgen-rt",
+ "wit-bindgen",
]
[[package]]
@@ -3605,25 +3604,25 @@ version = "0.26.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
dependencies = [
- "webpki-roots 1.0.1",
+ "webpki-roots 1.0.2",
]
[[package]]
name = "webpki-roots"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502"
+checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "whoami"
-version = "1.6.0"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7"
+checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d"
dependencies = [
- "redox_syscall 0.5.13",
+ "libredox",
"wasite",
"web-sys",
]
@@ -3646,11 +3645,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
-version = "0.1.9"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22"
dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -3659,6 +3658,12 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+[[package]]
+name = "windows-link"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
+
[[package]]
name = "windows-sys"
version = "0.48.0"
@@ -3692,7 +3697,7 @@ version = "0.60.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
dependencies = [
- "windows-targets 0.53.2",
+ "windows-targets 0.53.3",
]
[[package]]
@@ -3728,10 +3733,11 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.53.2"
+version = "0.53.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
+checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
dependencies = [
+ "windows-link",
"windows_aarch64_gnullvm 0.53.0",
"windows_aarch64_msvc 0.53.0",
"windows_i686_gnu 0.53.0",
@@ -3882,21 +3888,15 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
[[package]]
name = "winnow"
-version = "0.7.11"
+version = "0.7.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd"
-dependencies = [
- "memchr",
-]
+checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf"
[[package]]
-name = "wit-bindgen-rt"
-version = "0.39.0"
+name = "wit-bindgen"
+version = "0.45.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
-dependencies = [
- "bitflags 2.9.1",
-]
+checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814"
[[package]]
name = "writeable"
@@ -3906,9 +3906,9 @@ checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
[[package]]
name = "xattr"
-version = "1.5.0"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e"
+checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909"
dependencies = [
"libc",
"rustix",
@@ -3998,9 +3998,9 @@ dependencies = [
[[package]]
name = "zerovec"
-version = "0.11.2"
+version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428"
+checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
dependencies = [
"yoke",
"zerofrom",
@@ -4020,9 +4020,9 @@ dependencies = [
[[package]]
name = "zip"
-version = "4.1.0"
+version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af7dcdb4229c0e79c2531a24de7726a0e980417a74fb4d030a35f535665439a0"
+checksum = "8835eb39822904d39cb19465de1159e05d371973f0c6df3a365ad50565ddc8b9"
dependencies = [
"arbitrary",
"crc32fast",
@@ -4040,7 +4040,7 @@ checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a"
[[package]]
name = "zonky"
-version = "0.18.7"
+version = "0.20.0"
dependencies = [
"postgresql_archive",
"postgresql_embedded",
diff --git a/Cargo.toml b/Cargo.toml
index 475f4a4..f32d35f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -21,51 +21,51 @@ edition = "2024"
keywords = ["postgresql", "postgres", "embedded", "database", "server"]
license = "(Apache-2.0 OR MIT) AND PostgreSQL"
repository = "https://github.com/theseus-rs/postgresql-embedded"
-rust-version = "1.87.0"
-version = "0.18.7"
+rust-version = "1.89.0"
+version = "0.20.0"
[workspace.dependencies]
-anyhow = "1.0.98"
-async-trait = "0.1.88"
+anyhow = "1.0.99"
+async-trait = "0.1.89"
axum = "0.8.4"
-criterion = "0.6.0"
-diesel = "2.2.11"
+criterion = "0.7.0"
+diesel = "2.2.12"
diesel_migrations = "2.2.0"
flate2 = "1.1.2"
futures-util = "0.3.31"
hex = "0.4.3"
-indicatif = "0.17.11"
+indicatif = "0.18.0"
indoc = "2.0.6"
-liblzma = "0.4.2"
+liblzma = "0.4.4"
md-5 = "0.10.6"
num-format = "0.4.4"
pgvector = "0.4.1"
postgres = "0.19.10"
-quick-xml = "0.37.5"
+quick-xml = "0.38.3"
r2d2_postgres = "0.18.2"
-rand = "0.9.1"
-regex-lite = "0.1.6"
-reqwest = { version = "0.12.20", default-features = false }
+rand = "0.9.2"
+regex-lite = "0.1.7"
+reqwest = { version = "0.12.23", default-features = false }
reqwest-middleware = "0.4.2"
reqwest-retry = "0.7.0"
reqwest-tracing = "0.5.8"
semver = "1.0.26"
serde = "1.0.219"
-serde_json = "1.0.140"
+serde_json = "1.0.143"
sha1 = "0.10.6"
sha2 = "0.10.8"
sqlx = { version = "0.8.6", default-features = false, features = ["postgres"] }
tar = "0.4.44"
target-triple = "0.1.4"
-tempfile = "3.20.0"
-test-log = "0.2.17"
-thiserror = "2.0.12"
-tokio = "1.45.1"
+tempfile = "3.21.0"
+test-log = "0.2.18"
+thiserror = "2.0.16"
+tokio = "1.47.1"
tracing = "0.1.41"
-tracing-indicatif = "0.3.9"
-tracing-subscriber = "0.3.19"
-url = "2.5.4"
-zip = { version = "4.1.0", default-features = false, features = ["deflate"] }
+tracing-indicatif = "0.3.13"
+tracing-subscriber = "0.3.20"
+url = "2.5.7"
+zip = { version = "4.5.0", default-features = false, features = ["deflate"] }
[workspace.metadata.release]
shared-version = true
diff --git a/README.md b/README.md
index 5ea3b65..44f1eb9 100644
--- a/README.md
+++ b/README.md
@@ -54,6 +54,13 @@ async fn main() -> Result<()> {
}
```
+## Notes
+
+Supports using PostgreSQL binaries from:
+
+* [theseus-rs/postgresql-binaries](https://github.com/theseus-rs/postgresql-binaries) (default)
+* [zonkyio/embedded-postgres-binaries](https://github.com/zonkyio/embedded-postgres-binaries)
+
## Safety
These crates use `#![forbid(unsafe_code)]` to ensure everything is implemented in 100% safe Rust.
@@ -69,32 +76,10 @@ at your option.
PostgreSQL is covered under [The PostgreSQL License](https://opensource.org/licenses/postgresql).
-## Notes
-
-Supports using PostgreSQL binaries from:
-
-* [theseus-rs/postgresql-binaries](https://github.com/theseus-rs/postgresql-binaries) (default)
-* [zonkyio/embedded-postgres-binaries](https://github.com/zonkyio/embedded-postgres-binaries)
-
## 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.
-
-
-
-
-
-
-
-
+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.
## Prior Art
diff --git a/deny.toml b/deny.toml
index ffd7b58..f0aa4fd 100644
--- a/deny.toml
+++ b/deny.toml
@@ -19,7 +19,6 @@ allow = [
"BSD-2-Clause",
"BSD-3-Clause",
"BSL-1.0",
- "ISC",
"MIT",
"PostgreSQL",
"Unicode-3.0",
diff --git a/examples/archive_async/src/main.rs b/examples/archive_async/src/main.rs
index f8df153..71117fd 100644
--- a/examples/archive_async/src/main.rs
+++ b/examples/archive_async/src/main.rs
@@ -25,7 +25,7 @@ mod test {
use super::*;
#[test]
- fn test_main() -> Result<()> {
+ fn test_archive_async_main() -> Result<()> {
main()
}
}
diff --git a/examples/archive_sync/src/main.rs b/examples/archive_sync/src/main.rs
index 44a1643..d657f67 100644
--- a/examples/archive_sync/src/main.rs
+++ b/examples/archive_sync/src/main.rs
@@ -25,7 +25,7 @@ mod test {
use super::*;
#[test]
- fn test_main() -> Result<()> {
+ fn test_archive_sync_main() -> Result<()> {
main()
}
}
diff --git a/examples/diesel_embedded/src/main.rs b/examples/diesel_embedded/src/main.rs
index 2ee12a4..3ecbac4 100644
--- a/examples/diesel_embedded/src/main.rs
+++ b/examples/diesel_embedded/src/main.rs
@@ -72,7 +72,7 @@ mod test {
use super::*;
#[test]
- fn test_main() -> Result<()> {
+ fn test_diesel_embedded_main() -> Result<()> {
main()
}
}
diff --git a/examples/download_progress_bar/src/main.rs b/examples/download_progress_bar/src/main.rs
index 3b37fed..ab1f55f 100644
--- a/examples/download_progress_bar/src/main.rs
+++ b/examples/download_progress_bar/src/main.rs
@@ -43,7 +43,7 @@ mod test {
use super::*;
#[test]
- fn test_main() -> Result<()> {
+ fn test_download_progress_bar_main() -> Result<()> {
main()
}
}
diff --git a/examples/embedded_async/src/main.rs b/examples/embedded_async/src/main.rs
index bc675bb..2402107 100644
--- a/examples/embedded_async/src/main.rs
+++ b/examples/embedded_async/src/main.rs
@@ -27,7 +27,7 @@ mod test {
use super::*;
#[test]
- fn test_main() -> Result<()> {
+ fn test_embedded_async_main() -> Result<()> {
main()
}
}
diff --git a/examples/embedded_sync/src/main.rs b/examples/embedded_sync/src/main.rs
index 0f70a3f..3e8a79f 100644
--- a/examples/embedded_sync/src/main.rs
+++ b/examples/embedded_sync/src/main.rs
@@ -23,7 +23,7 @@ mod test {
use super::*;
#[test]
- fn test_main() -> Result<()> {
+ fn test_embedded_sync_main() -> Result<()> {
main()
}
}
diff --git a/examples/portal_corp_extension/src/main.rs b/examples/portal_corp_extension/src/main.rs
index 237bf4f..622d947 100644
--- a/examples/portal_corp_extension/src/main.rs
+++ b/examples/portal_corp_extension/src/main.rs
@@ -10,7 +10,7 @@ use tracing::info;
use postgresql_embedded::{PostgreSQL, Settings, VersionReq};
-/// Example of how to install and configure the PortalCorp pgvector extension.
+/// Example of how to install and configure the `PortalCorp` pgvector extension.
///
/// See:
#[tokio::main]
@@ -18,13 +18,22 @@ async fn main() -> Result<()> {
tracing_subscriber::fmt().compact().init();
info!("Installing PostgreSQL");
+ let postgresql_version = VersionReq::parse("=16.4.0")?;
let settings = Settings {
- version: VersionReq::parse("=16.4.0")?,
+ version: postgresql_version.clone(),
..Default::default()
};
let mut postgresql = PostgreSQL::new(settings);
postgresql.setup().await?;
+ let settings = postgresql.settings();
+ // Skip the test if the PostgreSQL version does not match; when testing with the 'bundled'
+ // feature, the version may vary and the test will fail.
+ if settings.version != postgresql_version {
+ eprintln!("Postgresql version does not match");
+ return Ok(());
+ }
+
info!("Installing the vector extension from PortalCorp");
postgresql_extensions::install(
postgresql.settings(),
@@ -120,10 +129,12 @@ async fn execute_query(pool: &PgPool, query: &str) -> Result<()> {
#[cfg(test)]
mod test {
+ #[cfg(not(all(target_os = "linux", target_arch = "x86_64")))]
use super::*;
+ #[cfg(not(all(target_os = "linux", target_arch = "x86_64")))]
#[test]
- fn test_main() -> Result<()> {
+ fn test_portal_corp_extension_main() -> Result<()> {
main()
}
}
diff --git a/examples/postgres_embedded/src/main.rs b/examples/postgres_embedded/src/main.rs
index d5a9ad5..eaddef9 100644
--- a/examples/postgres_embedded/src/main.rs
+++ b/examples/postgres_embedded/src/main.rs
@@ -93,7 +93,7 @@ mod test {
use super::*;
#[test]
- fn test_main() -> Result<()> {
+ fn test_postgres_embedded_main() -> Result<()> {
main()
}
}
diff --git a/examples/sqlx_embedded/src/main.rs b/examples/sqlx_embedded/src/main.rs
index 802227c..6152fac 100644
--- a/examples/sqlx_embedded/src/main.rs
+++ b/examples/sqlx_embedded/src/main.rs
@@ -92,7 +92,7 @@ mod test {
use super::*;
#[test]
- fn test_main() -> Result<()> {
+ fn test_sqlx_embedded_main() -> Result<()> {
main()
}
}
diff --git a/examples/tensor_chord_extension/src/main.rs b/examples/tensor_chord_extension/src/main.rs
index a4054d9..e6c6346 100644
--- a/examples/tensor_chord_extension/src/main.rs
+++ b/examples/tensor_chord_extension/src/main.rs
@@ -9,7 +9,7 @@ use tracing::info;
use postgresql_embedded::{PostgreSQL, Settings, VersionReq};
-/// Example of how to install and configure the TensorChord vector extension.
+/// Example of how to install and configure the `TensorChord` vector extension.
///
/// See:
#[tokio::main]
@@ -147,13 +147,14 @@ async fn execute_query(pool: &PgPool, query: &str) -> Result<()> {
Ok(())
}
-#[cfg(target_os = "linux")]
#[cfg(test)]
mod test {
+ #[cfg(not(all(target_os = "linux", target_arch = "x86_64")))]
use super::*;
+ #[cfg(not(all(target_os = "linux", target_arch = "x86_64")))]
#[test]
- fn test_main() -> Result<()> {
+ fn test_tensor_chord_extension_main() -> Result<()> {
main()
}
}
diff --git a/examples/zonky/src/main.rs b/examples/zonky/src/main.rs
index 05c8880..96eda9c 100644
--- a/examples/zonky/src/main.rs
+++ b/examples/zonky/src/main.rs
@@ -27,10 +27,12 @@ async fn main() -> Result<()> {
#[cfg(test)]
mod test {
+ #[cfg(not(all(target_os = "linux", target_arch = "x86_64")))]
use super::*;
+ #[cfg(not(all(target_os = "linux", target_arch = "x86_64")))]
#[test]
- fn test_main() -> Result<()> {
+ fn test_zonky_main() -> Result<()> {
main()
}
}
diff --git a/postgresql_archive/README.md b/postgresql_archive/README.md
index 9bc0d87..3877e22 100644
--- a/postgresql_archive/README.md
+++ b/postgresql_archive/README.md
@@ -112,6 +112,5 @@ 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.
+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.
diff --git a/postgresql_archive/src/matcher/registry.rs b/postgresql_archive/src/matcher/registry.rs
index 77ab836..2b64f72 100644
--- a/postgresql_archive/src/matcher/registry.rs
+++ b/postgresql_archive/src/matcher/registry.rs
@@ -27,8 +27,8 @@ impl MatchersRegistry {
}
}
- /// Registers a matcher for a supports function. Newly registered matchers with the take
- /// precedence over existing ones.
+ /// Registers a matcher for a supports function. Newly registered matchers will take precedence
+ /// over existing ones.
fn register(&mut self, supports_fn: SupportsFn, matcher_fn: MatcherFn) {
self.matchers.insert(
0,
@@ -73,8 +73,8 @@ impl Default for MatchersRegistry {
}
}
-/// Registers a matcher for a supports function. Newly registered matchers with the take
-/// precedence over existing ones.
+/// Registers a matcher for a supports function. Newly registered matchers will take precedence over
+/// existing ones.
///
/// # Errors
/// * If the registry is poisoned.
diff --git a/postgresql_commands/README.md b/postgresql_commands/README.md
index 80e40f5..69cd6c1 100644
--- a/postgresql_commands/README.md
+++ b/postgresql_commands/README.md
@@ -52,6 +52,5 @@ 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.
+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.
diff --git a/postgresql_commands/src/pg_dump.rs b/postgresql_commands/src/pg_dump.rs
index 703ced5..e6f5813 100644
--- a/postgresql_commands/src/pg_dump.rs
+++ b/postgresql_commands/src/pg_dump.rs
@@ -30,7 +30,7 @@ pub struct PgDumpBuilder {
verbose: bool,
version: bool,
no_privileges: bool,
- compression: Option,
+ compress: Option,
binary_upgrade: bool,
column_inserts: bool,
attribute_inserts: bool,
@@ -243,10 +243,10 @@ impl PgDumpBuilder {
self
}
- /// Set the compression level to use
+ /// Set the compress level to use
#[must_use]
- pub fn compression>(mut self, compress: S) -> Self {
- self.compression = Some(compress.as_ref().to_os_string());
+ pub fn compress>(mut self, compress: S) -> Self {
+ self.compress = Some(compress.as_ref().to_os_string());
self
}
@@ -638,9 +638,9 @@ impl CommandBuilder for PgDumpBuilder {
args.push("--no-privileges".into());
}
- if let Some(compression) = &self.compression {
- args.push("--compression".into());
- args.push(compression.into());
+ if let Some(compress) = &self.compress {
+ args.push("--compress".into());
+ args.push(compress.into());
}
if self.binary_upgrade {
@@ -887,7 +887,7 @@ mod tests {
.verbose()
.version()
.no_privileges()
- .compression("compression")
+ .compress("compress")
.binary_upgrade()
.column_inserts()
.attribute_inserts()
@@ -935,7 +935,7 @@ mod tests {
assert_eq!(
format!(
- r#"{command_prefix}"pg_dump" "--data-only" "--large-objects" "--no-large-objects" "--clean" "--create" "--extension" "extension" "--encoding" "UTF8" "--file" "file" "--format" "format" "--jobs" "jobs" "--schema" "schema" "--exclude-schema" "exclude_schema" "--no-owner" "--no-reconnect" "--schema-only" "--superuser" "superuser" "--table" "table" "--exclude-table" "exclude_table" "--verbose" "--version" "--no-privileges" "--compression" "compression" "--binary-upgrade" "--column-inserts" "--attribute-inserts" "--disable-dollar-quoting" "--disable-triggers" "--enable-row-security" "--exclude-table-data-and-children" "exclude_table_data_and_children" "--extra-float-digits" "extra_float_digits" "--if-exists" "--include-foreign-data" "include_foreign_data" "--inserts" "--load-via-partition-root" "--lock-wait-timeout" "10" "--no-comments" "--no-publications" "--no-security-labels" "--no-subscriptions" "--no-table-access-method" "--no-tablespaces" "--no-toast-compression" "--no-unlogged-table-data" "--on-conflict-do-nothing" "--quote-all-identifiers" "--rows-per-insert" "100" "--section" "section" "--serializable-deferrable" "--snapshot" "snapshot" "--strict-names" "--table-and-children" "table_and_children" "--use-set-session-authorization" "--help" "--dbname" "dbname" "--host" "localhost" "--port" "5432" "--username" "postgres" "--no-password" "--password" "--role" "role""#
+ r#"{command_prefix}"pg_dump" "--data-only" "--large-objects" "--no-large-objects" "--clean" "--create" "--extension" "extension" "--encoding" "UTF8" "--file" "file" "--format" "format" "--jobs" "jobs" "--schema" "schema" "--exclude-schema" "exclude_schema" "--no-owner" "--no-reconnect" "--schema-only" "--superuser" "superuser" "--table" "table" "--exclude-table" "exclude_table" "--verbose" "--version" "--no-privileges" "--compress" "compress" "--binary-upgrade" "--column-inserts" "--attribute-inserts" "--disable-dollar-quoting" "--disable-triggers" "--enable-row-security" "--exclude-table-data-and-children" "exclude_table_data_and_children" "--extra-float-digits" "extra_float_digits" "--if-exists" "--include-foreign-data" "include_foreign_data" "--inserts" "--load-via-partition-root" "--lock-wait-timeout" "10" "--no-comments" "--no-publications" "--no-security-labels" "--no-subscriptions" "--no-table-access-method" "--no-tablespaces" "--no-toast-compression" "--no-unlogged-table-data" "--on-conflict-do-nothing" "--quote-all-identifiers" "--rows-per-insert" "100" "--section" "section" "--serializable-deferrable" "--snapshot" "snapshot" "--strict-names" "--table-and-children" "table_and_children" "--use-set-session-authorization" "--help" "--dbname" "dbname" "--host" "localhost" "--port" "5432" "--username" "postgres" "--no-password" "--password" "--role" "role""#
),
command.to_command_string()
);
diff --git a/postgresql_embedded/Cargo.toml b/postgresql_embedded/Cargo.toml
index e6b17ca..5ef1efb 100644
--- a/postgresql_embedded/Cargo.toml
+++ b/postgresql_embedded/Cargo.toml
@@ -13,14 +13,14 @@ version.workspace = true
[build-dependencies]
anyhow = { workspace = true }
-postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false }
+postgresql_archive = { path = "../postgresql_archive", version = "0.20.0", default-features = false }
target-triple = { workspace = true }
tokio = { workspace = true, features = ["full"] }
url = { workspace = true }
[dependencies]
-postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false }
-postgresql_commands = { path = "../postgresql_commands", version = "0.18.7" }
+postgresql_archive = { path = "../postgresql_archive", version = "0.20.0", default-features = false }
+postgresql_commands = { path = "../postgresql_commands", version = "0.20.0" }
rand = { workspace = true }
semver = { workspace = true }
sqlx = { workspace = true, features = ["runtime-tokio"] }
diff --git a/postgresql_embedded/README.md b/postgresql_embedded/README.md
index 76320ff..9e4b800 100644
--- a/postgresql_embedded/README.md
+++ b/postgresql_embedded/README.md
@@ -134,6 +134,13 @@ The PostgreSQL binaries can also be obtained from a different GitHub source by s
environment variable. The repository must contain the releases with archives in same structure as
[theseus-rs/postgresql_binaries](https://github.com/theseus-rs/postgresql-binaries).
+## Notes
+
+Supports using PostgreSQL binaries from:
+
+* [theseus-rs/postgresql-binaries](https://github.com/theseus-rs/postgresql-binaries) (default)
+* [zonkyio/embedded-postgres-binaries](https://github.com/zonkyio/embedded-postgres-binaries)
+
## Safety
This crate uses `#![forbid(unsafe_code)]` to ensure everything is implemented in 100% safe Rust.
@@ -147,13 +154,7 @@ Licensed under either of
at your option.
-## Notes
-
-Uses PostgreSQL binaries from [theseus-rs/postgresql-binaries](https://github.com/theseus-rs/postgresql_binaries) by
-default.
-
## 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.
+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.
diff --git a/postgresql_embedded/build/bundle.rs b/postgresql_embedded/build/bundle.rs
index fb2171e..1feda94 100644
--- a/postgresql_embedded/build/bundle.rs
+++ b/postgresql_embedded/build/bundle.rs
@@ -41,7 +41,7 @@ pub(crate) async fn stage_postgresql_archive() -> Result<()> {
println!("Target: {}", target_triple::TARGET);
let out_dir = PathBuf::from(env::var("OUT_DIR")?);
- println!("OUT_DIR: {:?}", out_dir);
+ println!("OUT_DIR: {out_dir:?}");
let mut archive_version_file = out_dir.clone();
archive_version_file.push("postgresql.version");
@@ -49,7 +49,7 @@ pub(crate) async fn stage_postgresql_archive() -> Result<()> {
archive_file.push("postgresql.tar.gz");
if archive_version_file.exists() && archive_file.exists() {
- println!("PostgreSQL archive exists: {:?}", archive_file);
+ println!("PostgreSQL archive exists: {archive_file:?}");
return Ok(());
}
@@ -59,7 +59,7 @@ pub(crate) async fn stage_postgresql_archive() -> Result<()> {
let mut file = File::create(archive_file.clone())?;
file.write_all(&archive)?;
file.sync_data()?;
- println!("PostgreSQL archive written to: {:?}", archive_file);
+ println!("PostgreSQL archive written to: {archive_file:?}");
Ok(())
}
diff --git a/postgresql_embedded/src/postgresql.rs b/postgresql_embedded/src/postgresql.rs
index 346bfaf..3b22bca 100644
--- a/postgresql_embedded/src/postgresql.rs
+++ b/postgresql_embedded/src/postgresql.rs
@@ -1,9 +1,11 @@
use crate::error::Error::{DatabaseInitializationError, DatabaseStartError, DatabaseStopError};
use crate::error::Result;
use crate::settings::{BOOTSTRAP_DATABASE, BOOTSTRAP_SUPERUSER, Settings};
+use postgresql_archive::extract;
+#[cfg(not(feature = "bundled"))]
+use postgresql_archive::get_archive;
use postgresql_archive::get_version;
use postgresql_archive::{ExactVersion, ExactVersionReq};
-use postgresql_archive::{extract, get_archive};
#[cfg(feature = "tokio")]
use postgresql_commands::AsyncCommandExecutor;
use postgresql_commands::CommandBuilder;
@@ -55,15 +57,15 @@ impl PostgreSQL {
// conflicts with other versions. This will also facilitate setting the status of the
// server to the correct initial value. If the minor and release version are not set, the
// installation directory will be determined dynamically during the installation process.
- if !postgresql.settings.trust_installation_dir {
- if let Some(version) = postgresql.settings.version.exact_version() {
- let path = &postgresql.settings.installation_dir;
- let version_string = version.to_string();
-
- if !path.ends_with(&version_string) {
- postgresql.settings.installation_dir =
- postgresql.settings.installation_dir.join(version_string);
- }
+ if !postgresql.settings.trust_installation_dir
+ && let Some(version) = postgresql.settings.version.exact_version()
+ {
+ let path = &postgresql.settings.installation_dir;
+ let version_string = version.to_string();
+
+ if !path.ends_with(&version_string) {
+ postgresql.settings.installation_dir =
+ postgresql.settings.installation_dir.join(version_string);
}
}
postgresql
@@ -103,10 +105,11 @@ impl PostgreSQL {
.file_name()
.and_then(|file_name| Version::parse(&file_name.to_string_lossy()).ok());
// If this directory matches the version requirement, we're done.
- if let Some(path_version) = maybe_path_version {
- if self.settings.version.matches(&path_version) && path.exists() {
- return Some(path.clone());
- }
+ if let Some(path_version) = maybe_path_version
+ && self.settings.version.matches(&path_version)
+ && path.exists()
+ {
+ return Some(path.clone());
}
// Get all directories in the path as versions.
@@ -178,6 +181,11 @@ impl PostgreSQL {
/// returned.
#[instrument(skip(self))]
async fn install(&mut self) -> Result<()> {
+ #[cfg(feature = "bundled")]
+ {
+ self.settings.version = crate::settings::ARCHIVE_VERSION.clone();
+ }
+
debug!(
"Starting installation process for version {}",
self.settings.version
@@ -200,28 +208,21 @@ impl PostgreSQL {
let url = &self.settings.releases_url;
+ // When the `bundled` feature is enabled, use the bundled archive instead of downloading it
+ // from the internet.
#[cfg(feature = "bundled")]
- // If the requested version is the same as the version of the bundled archive, use the bundled
- // archive. This avoids downloading the archive in environments where internet access is
- // restricted or undesirable.
- let (version, bytes) = if *crate::settings::ARCHIVE_VERSION == self.settings.version {
+ let bytes = {
debug!("Using bundled installation archive");
- (
- self.settings.version.clone(),
- crate::settings::ARCHIVE.to_vec(),
- )
- } else {
- let (version, bytes) = get_archive(url, &self.settings.version).await?;
- (version.exact_version_req()?, bytes)
+ crate::settings::ARCHIVE.to_vec()
};
#[cfg(not(feature = "bundled"))]
- let (version, bytes) = {
+ let bytes = {
let (version, bytes) = get_archive(url, &self.settings.version).await?;
- (version.exact_version_req()?, bytes)
+ self.settings.version = version.exact_version_req()?;
+ bytes
};
- self.settings.version = version;
extract(url, &bytes, &self.settings.installation_dir).await?;
debug!(
diff --git a/postgresql_embedded/src/settings.rs b/postgresql_embedded/src/settings.rs
index 9f09dfa..17c3988 100644
--- a/postgresql_embedded/src/settings.rs
+++ b/postgresql_embedded/src/settings.rs
@@ -1,5 +1,7 @@
use crate::error::{Error, Result};
use postgresql_archive::VersionReq;
+#[cfg(feature = "bundled")]
+use postgresql_archive::{ExactVersionReq, Version};
use rand::Rng;
use rand::distr::Alphanumeric;
use std::collections::HashMap;
@@ -8,8 +10,6 @@ use std::env::{current_dir, home_dir};
use std::ffi::OsString;
use std::path::PathBuf;
#[cfg(feature = "bundled")]
-use std::str::FromStr;
-#[cfg(feature = "bundled")]
use std::sync::LazyLock;
use std::time::Duration;
use url::Url;
@@ -18,7 +18,8 @@ use url::Url;
#[expect(clippy::unwrap_used)]
pub(crate) static ARCHIVE_VERSION: LazyLock = LazyLock::new(|| {
let version_string = include_str!(concat!(std::env!("OUT_DIR"), "/postgresql.version"));
- let version_req = VersionReq::from_str(&format!("={version_string}")).unwrap();
+ let version = Version::parse(version_string).unwrap();
+ let version_req = version.exact_version_req().unwrap();
tracing::debug!("Bundled installation archive version {version_string}");
version_req
});
@@ -198,12 +199,12 @@ impl Settings {
}
let configuration_prefix = "configuration.";
for (key, value) in &query_parameters {
- if key.starts_with(configuration_prefix) {
- if let Some(configuration_key) = key.strip_prefix(configuration_prefix) {
- settings
- .configuration
- .insert(configuration_key.to_string(), value.to_string());
- }
+ if key.starts_with(configuration_prefix)
+ && let Some(configuration_key) = key.strip_prefix(configuration_prefix)
+ {
+ settings
+ .configuration
+ .insert(configuration_key.to_string(), value.to_string());
}
}
diff --git a/postgresql_embedded/tests/blocking.rs b/postgresql_embedded/tests/blocking.rs
index bbf6081..f52f362 100644
--- a/postgresql_embedded/tests/blocking.rs
+++ b/postgresql_embedded/tests/blocking.rs
@@ -7,7 +7,7 @@ use test_log::test;
#[cfg(feature = "blocking")]
#[test]
-fn test_lifecycle() -> Result<()> {
+fn test_embedded_blocking_lifecycle() -> Result<()> {
let mut postgresql = PostgreSQL::default();
let settings = postgresql.settings();
diff --git a/postgresql_embedded/tests/postgresql.rs b/postgresql_embedded/tests/postgresql.rs
index 71cff48..90d288d 100644
--- a/postgresql_embedded/tests/postgresql.rs
+++ b/postgresql_embedded/tests/postgresql.rs
@@ -34,7 +34,7 @@ async fn lifecycle() -> Result<()> {
}
#[test(tokio::test)]
-async fn test_lifecycle() -> Result<()> {
+async fn test_embedded_async_lifecycle() -> Result<()> {
lifecycle().await
}
diff --git a/postgresql_extensions/Cargo.toml b/postgresql_extensions/Cargo.toml
index 610b985..f3b75a9 100644
--- a/postgresql_extensions/Cargo.toml
+++ b/postgresql_extensions/Cargo.toml
@@ -12,8 +12,8 @@ version.workspace = true
[dependencies]
async-trait = { workspace = true }
-postgresql_archive = { path = "../postgresql_archive", version = "0.18.7", default-features = false }
-postgresql_commands = { path = "../postgresql_commands", version = "0.18.7", default-features = false }
+postgresql_archive = { path = "../postgresql_archive", version = "0.20.0", default-features = false }
+postgresql_commands = { path = "../postgresql_commands", version = "0.20.0", default-features = false }
regex-lite = { workspace = true }
reqwest = { workspace = true, default-features = false, features = ["json"] }
semver = { workspace = true, features = ["serde"] }
@@ -28,7 +28,7 @@ url = { workspace = true }
[dev-dependencies]
anyhow = { workspace = true }
-postgresql_embedded = { path = "../postgresql_embedded", version = "0.18.7" }
+postgresql_embedded = { path = "../postgresql_embedded", version = "0.20.0" }
test-log = { workspace = true }
tokio = { workspace = true, features = ["full"] }
diff --git a/postgresql_extensions/README.md b/postgresql_extensions/README.md
index 3cbe89c..c7c119d 100644
--- a/postgresql_extensions/README.md
+++ b/postgresql_extensions/README.md
@@ -79,6 +79,5 @@ 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.
+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.
diff --git a/postgresql_extensions/tests/blocking.rs b/postgresql_extensions/tests/blocking.rs
index 5f4ae16..2af0144 100644
--- a/postgresql_extensions/tests/blocking.rs
+++ b/postgresql_extensions/tests/blocking.rs
@@ -22,10 +22,11 @@ fn test_get_available_extensions() -> anyhow::Result<()> {
#[cfg(all(target_os = "linux", feature = "blocking", feature = "tensor-chord"))]
#[test]
-fn test_lifecycle() -> anyhow::Result<()> {
+fn test_extensions_blocking_lifecycle() -> anyhow::Result<()> {
let installation_dir = tempfile::tempdir()?.path().to_path_buf();
+ let postgresql_version = semver::VersionReq::parse("=16.4.0")?;
let settings = postgresql_embedded::Settings {
- version: postgresql_embedded::VersionReq::parse("=16.4.0")?,
+ version: postgresql_version.clone(),
installation_dir: installation_dir.clone(),
..Default::default()
};
@@ -34,6 +35,12 @@ fn test_lifecycle() -> anyhow::Result<()> {
postgresql.setup()?;
let settings = postgresql.settings();
+ // Skip the test if the PostgreSQL version does not match; when testing with the 'bundled'
+ // feature, the version may vary and the test will fail.
+ if settings.version != postgresql_version {
+ return Ok(());
+ }
+
let namespace = "tensor-chord";
let name = "pgvecto.rs";
let version = semver::VersionReq::parse("=0.3.0")?;
diff --git a/postgresql_extensions/tests/extensions.rs b/postgresql_extensions/tests/extensions.rs
index c6f45ed..2b90cfa 100644
--- a/postgresql_extensions/tests/extensions.rs
+++ b/postgresql_extensions/tests/extensions.rs
@@ -21,10 +21,11 @@ async fn test_get_available_extensions() -> Result<()> {
#[cfg(all(target_os = "linux", feature = "tensor-chord"))]
#[tokio::test]
-async fn test_lifecycle() -> Result<()> {
+async fn test_extensions_tensor_chord_lifecycle() -> Result<()> {
let installation_dir = tempfile::tempdir()?.path().to_path_buf();
+ let postgresql_version = semver::VersionReq::parse("=16.4.0")?;
let settings = postgresql_embedded::Settings {
- version: postgresql_embedded::VersionReq::parse("=16.4.0")?,
+ version: postgresql_version.clone(),
installation_dir: installation_dir.clone(),
..Default::default()
};
@@ -33,6 +34,12 @@ async fn test_lifecycle() -> Result<()> {
postgresql.setup().await?;
let settings = postgresql.settings();
+ // Skip the test if the PostgreSQL version does not match; when testing with the 'bundled'
+ // feature, the version may vary and the test will fail.
+ if settings.version != postgresql_version {
+ return Ok(());
+ }
+
let namespace = "tensor-chord";
let name = "pgvecto.rs";
let version = semver::VersionReq::parse("=0.3.0")?;
diff --git a/postgresql_extensions/tests/portal_corp.rs b/postgresql_extensions/tests/portal_corp.rs
index 214532e..ff6130f 100644
--- a/postgresql_extensions/tests/portal_corp.rs
+++ b/postgresql_extensions/tests/portal_corp.rs
@@ -4,11 +4,11 @@
)))]
#[cfg(feature = "portal-corp")]
#[tokio::test]
-async fn test_lifecycle() -> anyhow::Result<()> {
+async fn test_extensions_portal_corp_lifecycle() -> anyhow::Result<()> {
let installation_dir = tempfile::tempdir()?.path().to_path_buf();
let postgresql_version = semver::VersionReq::parse("=16.4.0")?;
let settings = postgresql_embedded::Settings {
- version: postgresql_version,
+ version: postgresql_version.clone(),
installation_dir: installation_dir.clone(),
..Default::default()
};
@@ -17,6 +17,12 @@ async fn test_lifecycle() -> anyhow::Result<()> {
postgresql.setup().await?;
let settings = postgresql.settings();
+ // Skip the test if the PostgreSQL version does not match; when testing with the 'bundled'
+ // feature, the version may vary and the test will fail.
+ if settings.version != postgresql_version {
+ return Ok(());
+ }
+
let namespace = "portal-corp";
let name = "pgvector_compiled";
let version = semver::VersionReq::parse("=0.16.12")?;
diff --git a/postgresql_extensions/tests/steampipe.rs b/postgresql_extensions/tests/steampipe.rs
index e6d3790..222daf5 100644
--- a/postgresql_extensions/tests/steampipe.rs
+++ b/postgresql_extensions/tests/steampipe.rs
@@ -1,11 +1,11 @@
#[cfg(any(target_os = "linux", target_os = "macos"))]
#[cfg(feature = "steampipe")]
#[tokio::test]
-async fn test_lifecycle() -> anyhow::Result<()> {
+async fn test_extensions_steampipe_lifecycle() -> anyhow::Result<()> {
let installation_dir = tempfile::tempdir()?.path().to_path_buf();
let postgresql_version = semver::VersionReq::parse("=15.7.0")?;
let settings = postgresql_embedded::Settings {
- version: postgresql_version,
+ version: postgresql_version.clone(),
installation_dir: installation_dir.clone(),
..Default::default()
};
@@ -14,6 +14,12 @@ async fn test_lifecycle() -> anyhow::Result<()> {
postgresql.setup().await?;
let settings = postgresql.settings();
+ // Skip the test if the PostgreSQL version does not match; when testing with the 'bundled'
+ // feature, the version may vary and the test will fail.
+ if settings.version != postgresql_version {
+ return Ok(());
+ }
+
let namespace = "steampipe";
let name = "csv";
let version = semver::VersionReq::parse("=0.12.0")?;
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 291696d..02cb8fc 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,3 +1,3 @@
[toolchain]
-channel = "1.87.0"
+channel = "stable"
profile = "default"