Encore PostgreSQL fork
This directory contains Encore's rust-postgres fork, imported from
encoredev/rust-postgres branch encore-crates-io, based on
encore-patches-sync commit 9b5966f4b6baba9e67422002f4540a99fb2af1da,
including the package renames from that checkout.
Upstream authorship and MIT/Apache-2.0 licensing are preserved; see
LICENSE-MIT, LICENSE-APACHE, and THIRD_PARTY.
All packages are members of the repository's root Cargo workspace. There is no
separate nested workspace or lockfile. Upstream development packages, tests,
and database fixtures are retained; upstream CI and repository tooling are not.
README.md is the original upstream documentation.
The workspace aliases these local packages for Encore consumers:
postgres-protocol:encore-postgres-protocoltokio-postgres:encore-tokio-postgrespostgres-native-tls:encore-postgres-native-tls
The Rust library names remain unchanged. Consumers use workspace = true;
no PostgreSQL Git patches or sibling checkout are needed. The driver uses
crates.io postgres-types so integrations such as pgvector share its
ToSql/FromSql traits. The retained local postgres-types and other upstream
development packages are not used by the SDK.
Development
The default workspace members preserve the repository's normal build/test scope. Select the fork packages explicitly when working on them:
Driver and TLS integration tests require PostgreSQL on port 5433 with the
roles and extensions in docker/sql_setup.sh. docker-compose.yml provides
that fixture. The inherited TLS certificate expired in June 2026; refresh it
in both the setup script and test/server.crt / test/server.der before TLS
tests. Tests do not start a database automatically.
Once the database fixtures are ready, run from the repository root:
Publishing automation is intentionally deferred to the coordinated Rust SDK release work.