[−][src]Crate dhb_postgres_heroku
dhb-heroku-postgres
Given a DATABASE_URL, it should be dead simple to connect to a Heroku postgres database.
This crate makes it dead simple:
You pass a DATABASE_URL to the postgres_client function and get a working client back, as in
let mut client = get_client(&database_url);
If you want a connection pool, you'll also want to pass in a maximum number of connections.
let max_size = 20; let mut pool = get_pool(&database_url, max_size);
The reason I found the work to create this crate useful is that connecting to Heroku postgres has 2 quirks.
- On the one hand, it requires that we have a secure connection.
- On the other hand, it uses self-verified certificates. So we have to enable ssl, but turn off verification.
Re-exports
pub use postgres; |
pub use r2d2; |
pub use r2d2_postgres; |
Structs
Client | A synchronous PostgreSQL client. |
Functions
get_client | Get a working client from a postgres url. |
get_pool | Get a heroku-capable r2d2 connection pool from a postgres url and a maximum size. |
smoke_test | Try out a client by running through a set of postgres commands to create a table, insert a row, read the row, and drop the table. |
Type Definitions
HerokuPool |