On Windows, the embedded PostgreSQL setup fails with Access is denied. (os error 5) right after the archive is downloaded and extracted successfully.
[2025-08-14][08:02:35][tracing::span][INFO] setup;
[2025-08-14][08:02:35][tracing::span][INFO] install;
[2025-08-14][08:02:35][postgresql_embedded::postgresql][DEBUG] Starting installation process for version *
[2025-08-14][08:02:35][postgresql_archive::archive][DEBUG] get_version; url="https://github.com/theseus-rs/postgresql-binaries" version_req=VersionReq { comparators: [] }
[2025-08-14][08:02:35][postgresql_archive::repository::github::repository][DEBUG] get_version; self=GitHub { url: "https://github.com/theseus-rs/postgresql-binaries", releases_url: "https://api.github.com/repos/theseus-rs/postgresql-binaries/releases" } version_req=VersionReq { comparators: [] }
[2025-08-14][08:02:35][postgresql_archive::repository::github::repository][DEBUG] get_release; self=GitHub { url: "https://github.com/theseus-rs/postgresql-binaries", releases_url: "https://api.github.com/repos/theseus-rs/postgresql-binaries/releases" } version_req=VersionReq { comparators: [] }
[2025-08-14][08:02:35][postgresql_archive::repository::github::repository][DEBUG] Attempting to locate release for version requirement *
[2025-08-14][08:02:35][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=api.github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:35][reqwest::connect][DEBUG] starting new connection: https://api.github.com/
[2025-08-14][08:02:35][hyper_util::client::legacy::connect::http][DEBUG] connecting to 140.82.121.6:443
[2025-08-14][08:02:35][hyper_util::client::legacy::connect::http][DEBUG] connected to 140.82.121.6:443
[2025-08-14][08:02:39][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:39][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.github.com)
[2025-08-14][08:02:39][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=api.github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:39][hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.github.com)
[2025-08-14][08:02:41][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:41][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.github.com)
[2025-08-14][08:02:42][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=api.github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:42][hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.github.com)
[2025-08-14][08:02:44][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:44][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.github.com)
[2025-08-14][08:02:44][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=api.github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:44][hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.github.com)
[2025-08-14][08:02:44][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.github.com)
[2025-08-14][08:02:44][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:44][postgresql_archive::repository::github::repository][DEBUG] Version 17.5.0 found for version requirement *
[2025-08-14][08:02:44][postgresql_archive::archive][INFO] get_archive; url="https://github.com/theseus-rs/postgresql-binaries" version_req=VersionReq { comparators: [Comparator { op: Exact, major: 17, minor: Some(5), patch: Some(0), pre: Prerelease("") }] }
[2025-08-14][08:02:44][postgresql_archive::repository::github::repository][INFO] get_archive; self=GitHub { url: "https://github.com/theseus-rs/postgresql-binaries", releases_url: "https://api.github.com/repos/theseus-rs/postgresql-binaries/releases" } version_req=VersionReq { comparators: [Comparator { op: Exact, major: 17, minor: Some(5), patch: Some(0), pre: Prerelease("") }] }
[2025-08-14][08:02:44][postgresql_archive::repository::github::repository][DEBUG] get_release; self=GitHub { url: "https://github.com/theseus-rs/postgresql-binaries", releases_url: "https://api.github.com/repos/theseus-rs/postgresql-binaries/releases" } version_req=VersionReq { comparators: [Comparator { op: Exact, major: 17, minor: Some(5), patch: Some(0), pre: Prerelease("") }] }
[2025-08-14][08:02:44][postgresql_archive::repository::github::repository][DEBUG] Attempting to locate release for version requirement =17.5.0
[2025-08-14][08:02:44][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=api.github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:44][reqwest::connect][DEBUG] starting new connection: https://api.github.com/
[2025-08-14][08:02:44][hyper_util::client::legacy::connect::http][DEBUG] connecting to 140.82.121.6:443
[2025-08-14][08:02:44][hyper_util::client::legacy::connect::http][DEBUG] connected to 140.82.121.6:443
[2025-08-14][08:02:44][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:44][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.github.com)
[2025-08-14][08:02:44][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=api.github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:44][hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.github.com)
[2025-08-14][08:02:44][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:45][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.github.com)
[2025-08-14][08:02:45][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=api.github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:45][hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.github.com)
[2025-08-14][08:02:45][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:45][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.github.com)
[2025-08-14][08:02:45][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=api.github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:45][hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", api.github.com)
[2025-08-14][08:02:45][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", api.github.com)
[2025-08-14][08:02:45][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:45][postgresql_archive::repository::github::repository][DEBUG] Version 17.5.0 found for version requirement =17.5.0
[2025-08-14][08:02:45][postgresql_archive::repository::github::repository][DEBUG] get_asset; self=GitHub { url: "https://github.com/theseus-rs/postgresql-binaries", releases_url: "https://api.github.com/repos/theseus-rs/postgresql-binaries/releases" }
[2025-08-14][08:02:45][postgresql_archive::repository::github::repository][DEBUG] Downloading archive https://github.com/theseus-rs/postgresql-binaries/releases/download/17.5.0/postgresql-17.5.0-x86_64-pc-windows-msvc.tar.gz
[2025-08-14][08:02:45][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:45][reqwest::connect][DEBUG] starting new connection: https://github.com/
[2025-08-14][08:02:45][hyper_util::client::legacy::connect::http][DEBUG] connecting to 140.82.121.3:443
[2025-08-14][08:02:45][hyper_util::client::legacy::connect::http][DEBUG] connected to 140.82.121.3:443
[2025-08-14][08:02:45][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", github.com)
[2025-08-14][08:02:45][reqwest::connect][DEBUG] starting new connection: https://release-assets.githubusercontent.com/
[2025-08-14][08:02:45][hyper_util::client::legacy::connect::http][DEBUG] connecting to 185.199.110.133:443
[2025-08-14][08:02:45][hyper_util::client::legacy::connect::http][DEBUG] connected to 185.199.110.133:443
[2025-08-14][08:02:45][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:46][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", release-assets.githubusercontent.com)
[2025-08-14][08:02:46][postgresql_archive::repository::github::repository][DEBUG] Archive https://github.com/theseus-rs/postgresql-binaries/releases/download/17.5.0/postgresql-17.5.0-x86_64-pc-windows-msvc.tar.gz downloaded: 49642420
[2025-08-14][08:02:48][postgresql_archive::repository::github::repository][DEBUG] Downloading archive hash https://github.com/theseus-rs/postgresql-binaries/releases/download/17.5.0/postgresql-17.5.0-x86_64-pc-windows-msvc.tar.gz.sha256
[2025-08-14][08:02:48][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.request.method=GET url.scheme=https server.address=github.com server.port=443 user_agent.original=postgresql_archive/0.19.0 otel.kind="client" otel.name=GET
[2025-08-14][08:02:48][hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", github.com)
[2025-08-14][08:02:48][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", github.com)
[2025-08-14][08:02:48][hyper_util::client::legacy::pool][DEBUG] reuse idle connection for ("https", release-assets.githubusercontent.com)
[2025-08-14][08:02:48][hyper_util::client::legacy::pool][DEBUG] pooling idle connection for ("https", release-assets.githubusercontent.com)
[2025-08-14][08:02:48][reqwest_tracing::reqwest_otel_span_builder][INFO] HTTP request; http.response.status_code=200
[2025-08-14][08:02:48][postgresql_archive::repository::github::repository][DEBUG] Archive hash https://github.com/theseus-rs/postgresql-binaries/releases/download/17.5.0/postgresql-17.5.0-x86_64-pc-windows-msvc.tar.gz.sha256 downloaded: 184
[2025-08-14][08:02:48][postgresql_archive::archive][INFO] extract; url="https://github.com/theseus-rs/postgresql-binaries" out_dir="C:\\Users\\Arthur\\Documents\\Git\\VEI\\Src\\vei-app\\embedded_db\\17.5.0"
[2025-08-14][08:02:48][postgresql_archive::configuration::theseus::extractor][INFO] extract; extract_directories=ExtractDirectories { mappings: [(Regex(".*"), "C:\\Users\\Arthur\\Documents\\Git\\VEI\\Src\\vei-app\\embedded_db\\17.5.0")] }
[2025-08-14][08:02:48][postgresql_archive::configuration::theseus::extractor][DEBUG] acquire_lock; out_dir="C:\\Users\\Arthur\\Documents\\Git\\VEI\\Src\\vei-app\\embedded_db"
[2025-08-14][08:02:48][postgresql_archive::configuration::theseus::extractor][DEBUG] Attempting to acquire lock: C:\Users\Arthur\Documents\Git\VEI\Src\vei-app\embedded_db\postgresql-archive.lock
[2025-08-14][08:02:48][postgresql_archive::configuration::theseus::extractor][DEBUG] Lock acquired: C:\Users\Arthur\Documents\Git\VEI\Src\vei-app\embedded_db\postgresql-archive.lock
[2025-08-14][08:02:48][postgresql_archive::configuration::theseus::extractor][DEBUG] Extracting archive to C:\Users\Arthur\Documents\Git\VEI\Src\vei-app\embedded_db\.tmpSe9HKz
[2025-08-14][08:02:48][postgresql_archive::extractor::tar_gz_extractor][INFO] extract; extract_directories=ExtractDirectories { mappings: [(Regex(".*"), "C:\\Users\\Arthur\\Documents\\Git\\VEI\\Src\\vei-app\\embedded_db\\.tmpSe9HKz")] }
[2025-08-14][08:02:53][postgresql_archive::extractor::tar_gz_extractor][DEBUG] Extracted 2,901 files totalling 152574230
[2025-08-14][08:02:53][postgresql_archive::configuration::theseus::extractor][DEBUG] Renaming C:\Users\Arthur\Documents\Git\VEI\Src\vei-app\embedded_db\.tmpSe9HKz to C:\Users\Arthur\Documents\Git\VEI\Src\vei-app\embedded_db\17.5.0
[2025-08-14][08:02:53][vei_app_lib][ERROR] Failed to setup PostgreSQL: Accès refusé. (os error 5)
On Windows, the embedded PostgreSQL setup fails with Access is denied. (os error 5) right after the archive is downloaded and extracted successfully.
I am runing inside a Tauri App:
Logs:
Here is the content of the
embedded_dbfolder:Environment
Windows 11 24H2
postgresql_embedded: 0.19.0
PostgreSQL binary: 17.5.0