Skip to content
This repository has been archived by the owner on Apr 13, 2021. It is now read-only.

alex-dukhno/pg_wire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PostgreSQL Wire Protocol

Legal Notice

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