NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1082 most downloaded on crates.io
A native, asynchronous PostgreSQL client
Last release 3 months ago
12 Jun 2026
Ships fairly regularly
a new release about every 4 months
Most releases are documented
notes for 22 of 33 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
38 releases · first in 2016
Error instead of panicking on DataRow field/column count mismatch.
Added Client::execute_typed method.
Client::execute_typed method.Client::query_typed_one and Client::query_typed_opt methods.GenericClient::execute_typed, GenericClient::query_typed_one, and GenericClient::query_typed_opt methods.Transaction::execute_typed, Transaction::query_typed_one, and Transaction::query_typed_opt methods.bit-vec 0.9 via the with-bit-vec-0_9 feature.rand to 0.10.One column per quarter.
Added Client::query_scalar, Client::query_one_scalar, and Client::query_opt_scalar methods.
Client::query_scalar, Client::query_one_scalar, and Client::query_opt_scalar methods.Row::raw_size_bytes method.Column::type_modifier method.whoami to v2.Added Client::check_connection API.
Client::check_connection API.Client::simple_query_raw API.Client::is_closed.Display impl of ErrorAdded support for bit-vec versions v0.7 and v0.8.
jiff v0.2.bit-vec versions v0.7 and v0.8.fallible-iteratorset_tcp_user_timeout to only be called when enabledrust-postgres organization.phf to v0.13socket2 to v0.6futures-utilAdded support for direct TLS negotiation.
cidr 0.3 via the with-cidr-0_3 feature.load_balance_hosts to Config's Debug implementation.rand.Fixed query_typed queries that return no rows.
query_typed queries that return no rows.jiff 0.1 via the with-jiff-01 feature.Fixed handling of non-UTF8 error fields which can be sent after failed handshakes.
TransactionBuilder::start futures.table_oid and field_id fields to Columns struct of prepared statements.GenericClient::simple_query.#[track_caller] to Row::get and SimpleQueryRow::get.TargetSessionAttrs::ReadOnly.Debug implementation for Statement.Clone implementation for Row.SimpleQueryMessage::RowDescription.{Client, Transaction, GenericClient}::query_typed.rustc-serialize compatibility of eui48-1 dependencyimpl Into<String>.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added support for uuid 1.0 via the with-uuid-1 feature.
uuid 1.0 via the with-uuid-1 feature.tokio-util 0.7.parking_lot 0.12.Fixed a bug where the client could enter into a transaction if the Client::transaction future was dropped before completion.
Client::transaction future was dropped before completion.Fixed reporting of commit-time errors triggered by deferred constraints.
Fixed a deadlock when pipelined requests concurrently prepare cached typeinfo queries.
SimpleQueryRow::columns.eui48 1.0 via the with-eui48-1 feature.FromSql and ToSql implementations for arrays via the array-impls feature.time 0.3 via the with-time-0_3 feature.SqlState constants can now be used in match patterns.
SqlState constants can now be used in match patterns.Added support for geo-types 0.7 via with-geo-types-0_7 feature.
geo-types 0.7 via with-geo-types-0_7 feature.Client::clear_type_cache.Error::as_db_error and Error::is_closed.Upgraded to postgres-types 0.2.
tokio 1.0.postgres-types 0.2.ToSql values can now take both &dyn ToSql and T: ToSql values.Added the detail and hint fields to DbError's Display implementation.
tokio 0.3.DbError's Display implementation.Added support for geo-types 0.6.
geo-types 0.6.Added Transaction::savepoint, which can be used to create a savepoint with a custom name.
Transaction::savepoint, which can be used to create a savepoint with a custom name.Upgraded to Rust edition 2024, minimum Rust version 1.85.
Debug implementations for Client, Row, and Column.time 0.2 support.Deprecated Client::cancel_query and Client::cancel_query_raw in favor of Client::cancel_token.
Connection::poll_message.Client::cancel_query and Client::cancel_query_raw in favor of Client::cancel_token.Client::build_transaction to allow configuration of various transaction options.Client::cancel_token, which returns a separate owned object that can be used to cancel queries.Config fields.GenericClient trait implemented for Client and Transaction and covering shared functionality.Removed some stray println!s from copy_out internals.
println!s from copy_out internals.Client::copy_in now returns a Sink rather than taking in a Stream.
Client::copy_in now returns a Sink rather than taking in a Stream.CopyStream has been renamed to CopyOutStream.Client::copy_in and Client::copy_out no longer take query parameters as PostgreSQL doesn't support parameters in
COPY queries.TargetSessionAttrs, SslMode, and ChannelBinding are now true non-exhaustive enums.Client::query_opt for queries expected to return zero or one rows.binary_copy module.uuid 0.7 support.The TLS interface uses a trait to obtain channel binding information rather than returning it after the handshake.
bytes to 0.5.tokio to 0.2.timezone property from GMT to UTC.Stream implementations are now !Unpin.uuid 0.8.Row::try_get errors.The library now uses std::Future and async/await syntax.
std::futures::Future and async/await syntax.&self rather than &mut self.&[&(dyn ToSql + Sync)] rather than &[&dyn ToSql] to allow futures to be Send.&Statement can now also take
&str, and will internally prepare the statement.ToSql now serializes its value into a BytesMut rather than Vec<u8>.Streams now return Vec<T>. New *_raw methods still provide a Stream
interface.channel_binding=disable/allow/require configuration to control use of channel binding.Client::query_one method to cover the common case of a query that returns exactly one row.Significantly improved the performance of query and copy_in.
query and copy_in.copy_in must be 'static.Fixed Cargo features to actually enable the functionality they claim to.
The client API has been significantly overhauled. It now resembles hyper's, with separate Connection and Client objects. See the crate-level documenta
hyper's, with separate Connection and Client
objects. See the crate-level documentation for more details.prefer) is now part of the connection configuration rather than being passed in
separately.ToSql and FromSql implementations for external crates are now versioned. For example,
with-uuid is now with-uuid-0_7. This enables us to add support for new major versions of the crates in parallel
without breaking backwards compatibility.tokio-core to tokio.FromSql implementations can now borrow from the data buffer. In particular, this means that you can deserialize
values as &str. The FromSqlOwned trait can be used as a bound to restrict code to deserializing owned values.tokio by default, the base API can be used with any asynchronous stream type on any reactor.with-openssl feature has been removed. Use the tokio-postgres-openssl crate instead.with-rustc_serialize and with-time features have been removed. Use serde and SystemTime or chrono
instead.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →