Go to file
Petros Angelatos ca6d4b8162 tokio-postgres: buffer sockets to avoid excessive syscalls
The current implementation forwards all read requests to the operating
system through the socket causing excessive system calls. The effect is
magnified when the underlying Socket is wrapped around a TLS
implementation.

This commit changes the underlying socket to be read-buffered by default
with a buffer size of 16K, following the implementation of the official
client.

Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2021-05-24 17:58:30 +02:00
.github Update dependabot.yml 2021-04-29 17:00:22 -04:00
codegen fix clippy 2021-04-24 10:34:51 -04:00
docker Update docker image to Postgres 12.1 2019-12-04 16:51:55 -08:00
postgres Release postgres v0.19.1 2021-04-03 17:14:25 -04:00
postgres-derive Release postgres-derive v0.4.0 2019-12-23 15:27:41 -08:00
postgres-derive-test cfail tests for derive 2019-10-10 15:21:45 -07:00
postgres-native-tls tokio-postgres: buffer sockets to avoid excessive syscalls 2021-05-24 17:58:30 +02:00
postgres-openssl tokio-postgres: buffer sockets to avoid excessive syscalls 2021-05-24 17:58:30 +02:00
postgres-protocol fix clippy 2021-05-18 20:47:26 -04:00
postgres-types Release postgres-types v0.2.1 2021-04-03 17:10:03 -04:00
test Switch CI to CircleCI 2.0 2017-07-08 19:41:24 -07:00
tokio-postgres Revert change back to always setting the cached statement 2021-05-15 10:25:14 +01:00
.gitignore Update to protocol 0.2 2016-12-18 16:13:12 -08:00
Cargo.toml Move binary copy stuff directly into main crate 2019-12-08 18:30:47 -08:00
docker-compose.yml Update docker image to Postgres 12.1 2019-12-04 16:51:55 -08:00
LICENSE Bump license year 2017-07-23 10:44:10 -07:00
README.md Remove readme badge 2021-03-16 20:48:02 -04:00
THIRD_PARTY Use postgres_protocol for md5 hashing 2016-09-15 21:20:25 -07:00

Rust-Postgres

PostgreSQL support for Rust.

postgres Latest Version

Documentation

A native, synchronous PostgreSQL client.

tokio-postgres Latest Version

Documentation

A native, asynchronous PostgreSQL client.

postgres-types Latest Version

Documentation

Conversions between Rust and Postgres types.

postgres-native-tls Latest Version

Documentation

TLS support for postgres and tokio-postgres via native-tls.

postgres-openssl Latest Version

Documentation

TLS support for postgres and tokio-postgres via openssl.

Running test suite

The test suite requires postgres to be running in the correct configuration. The easiest way to do this is with docker:

  1. Install docker and docker-compose.
    1. On ubuntu: sudo apt install docker.io docker-compose.
  2. Make sure your user has permissions for docker.
    1. On ubuntu: sudo usermod -aG docker $USER
  3. Change to top-level directory of rust-postgres repo.
  4. Run docker-compose up -d.
  5. Run cargo test.
  6. Run docker-compose stop.