#postgresql #protocols

yanked pg_wire_payload

Structs that represent binary payload of PostgreSQL Wire Protocol

0.1.0 Apr 10, 2021

#664 in #postgresql


Used in pg_wire

Apache-2.0

42KB
975 lines

PostgreSQL Wire Protocol

This crate includes source code with modification from materialize project which is licensed under BSL 1.1. BSL does not allow to redistribute modified code under Open source license therefore the development of the crates (pg_wire and pg_wire_payload) are stopped, all versions is yanked from https://crates.io/ and this repo is going to be archived.

ci Coverage Status Cargo Documentation

The crate supports:

  • tokio runtime,
  • smol runtimes. Actually, it depends on async-io on which smol is based.

Add this to you Cargo.toml if you want to use it with tokio runtime

pg_wire = { version = "0.8", features = ["tokio_net"] }

Add this to you Cargo.toml if you want to enable smol runtime support

pg_wire = { version = "0.8", features = ["async_io"] }

Examples

Using smol runtime

Open your terminal and run the following command:

cargo run --example smol_server --features async_io

Open another terminal window and run:

psql -h 127.0.0.1 -U postgres -p 5432 -W

Enter any password The server always handles select 1 SQL query

Using tokio runtime

Open your terminal and run the following command:

cargo run --example tokio_server --features tokio_net

Open another terminal window and run:

psql -h 127.0.0.1 -U postgres -p 5432 -W

Enter any password The server always handles select 1 SQL query

Secured smol runtime

Open your terminal and run the following command:

cargo run --example secured_smol_server --features async_io

Open another terminal window and run:

psql -h 127.0.0.1 -U postgres -p 5432 -W

Enter any password After that in the console you should see something like

psql (13.2, server 12.4)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=> select 3;
 col1
------
    1
(1 row)

postgres=>

The server always handles select 1 SQL query

No runtime deps