|
1 |
| -# Materialize fork of Rust-Postgres |
| 1 | +# Rust-Postgres |
2 | 2 |
|
3 |
| -This repo serves as a staging area for Materialize patches to the |
4 |
| -[rust-postgres] client before they are accepted upstream. |
| 3 | +PostgreSQL support for Rust. |
5 | 4 |
|
6 |
| -There are no releases from this fork. The [MaterializeInc/materialize] |
7 |
| -repository simply pins a recent commit from the `master` branch. Other projects |
8 |
| -are welcome to do the same. The `master` branch is never force pushed. Upstream |
9 |
| -changes are periodically into `master` via `git merge`. |
| 5 | +## postgres [](https://crates.io/crates/postgres) |
10 | 6 |
|
11 |
| -## Adding a new patch |
| 7 | +[Documentation](https://docs.rs/postgres) |
12 | 8 |
|
13 |
| -Develop your patch against the master branch of the upstream [rust-postgres] |
14 |
| -project. Open a PR with your changes. If your PR is not merged quickly, open the |
15 |
| -same PR against this repository and request a review from a Materialize |
16 |
| -engineer. |
| 9 | +A native, synchronous PostgreSQL client. |
17 | 10 |
|
18 |
| -The long-term goal is to get every patch merged upstream. |
| 11 | +## tokio-postgres [](https://crates.io/crates/tokio-postgres) |
19 | 12 |
|
20 |
| -## Integrating upstream changes |
| 13 | +[Documentation](https://docs.rs/tokio-postgres) |
21 | 14 |
|
22 |
| -```shell |
23 |
| -git clone https://github.com/MaterializeInc/rust-postgres.git |
24 |
| -git remote add upstream https://github.com/sfackler/rust-postgres.git |
25 |
| -git checkout master |
26 |
| -git pull |
27 |
| -git checkout -b integrate-upstream |
28 |
| -git fetch upstream |
29 |
| -git merge upstream/master |
30 |
| -# Resolve any conflicts, then open a PR against this repository with the merge commit. |
31 |
| -``` |
| 15 | +A native, asynchronous PostgreSQL client. |
32 | 16 |
|
33 |
| -[rust-postgres]: https://github.com/sfackler/rust-postgres |
34 |
| -[MaterializeInc/materialize]: https://github.com/MaterializeInc/materialize |
| 17 | +## postgres-types [](https://crates.io/crates/postgres-types) |
| 18 | + |
| 19 | +[Documentation](https://docs.rs/postgres-types) |
| 20 | + |
| 21 | +Conversions between Rust and Postgres types. |
| 22 | + |
| 23 | +## postgres-native-tls [](https://crates.io/crates/postgres-native-tls) |
| 24 | + |
| 25 | +[Documentation](https://docs.rs/postgres-native-tls) |
| 26 | + |
| 27 | +TLS support for postgres and tokio-postgres via native-tls. |
| 28 | + |
| 29 | +## postgres-openssl [](https://crates.io/crates/postgres-openssl) |
| 30 | + |
| 31 | +[Documentation](https://docs.rs/postgres-openssl) |
| 32 | + |
| 33 | +TLS support for postgres and tokio-postgres via openssl. |
| 34 | + |
| 35 | +# Running test suite |
| 36 | + |
| 37 | +The test suite requires postgres to be running in the correct configuration. The easiest way to do this is with docker: |
| 38 | + |
| 39 | +1. Install `docker` and `docker-compose`. |
| 40 | + 1. On ubuntu: `sudo apt install docker.io docker-compose`. |
| 41 | +1. Make sure your user has permissions for docker. |
| 42 | + 1. On ubuntu: ``sudo usermod -aG docker $USER`` |
| 43 | +1. Change to top-level directory of `rust-postgres` repo. |
| 44 | +1. Run `docker-compose up -d`. |
| 45 | +1. Run `cargo test`. |
| 46 | +1. Run `docker-compose stop`. |
0 commit comments