[−][src]Crate postgres
A synchronous client for the PostgreSQL database.
Example
use postgres::{Client, NoTls}; let mut client = Client::connect("host=localhost user=postgres", NoTls)?; client.simple_query(" CREATE TABLE person ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, data BYTEA ) ")?; let name = "Ferris"; let data = None::<&[u8]>; client.execute( "INSERT INTO person (name, data) VALUES ($1, $2)", &[&name, &data], )?; for row in client.query("SELECT id, name, data FROM person", &[])? { let id: i32 = row.get(0); let name: &str = row.get(1); let data: Option<&[u8]> = row.get(2); println!("found person: {} {} {:?}", id, name, data); }
Implementation
This crate is a lightweight wrapper over tokio-postgres. The postgres::Client is simply a wrapper around a
tokio_postgres::Client along side a tokio Runtime. The client simply blocks on the futures provided by the async
client.
SSL/TLS support
TLS support is implemented via external libraries. Client::connect and Config::connect take a TLS implementation
as an argument. The NoTls type in this crate can be used when TLS is not required. Otherwise, the
postgres-openssl and postgres-native-tls crates provide implementations backed by the openssl and native-tls
crates, respectively.
Re-exports
| pub use fallible_iterator; | 
| pub use crate::config::Config; | 
| pub use crate::error::Error; | 
| pub use crate::row::Row; | 
| pub use crate::row::SimpleQueryRow; | 
| pub use crate::tls::NoTls; | 
Modules
| binary_copy | Utilities for working with the PostgreSQL binary copy format. | 
| config | Connection configuration. | 
| error | Errors. | 
| row | Rows. | 
| tls | TLS support. | 
| types | Types. | 
Structs
| Client | A synchronous PostgreSQL client. | 
| Column | Information about a column of a query. | 
| CopyInWriter | The writer returned by the  | 
| CopyOutReader | The reader returned by the  | 
| Portal | A portal. | 
| RowIter | The iterator returned by  | 
| Socket | The standard stream type used by the crate. | 
| Statement | A prepared statement. | 
| Transaction | A representation of a PostgreSQL database transaction. | 
Enums
| SimpleQueryMessage | Message returned by the  | 
Traits
| ToStatement | A trait abstracting over prepared and unprepared statements. |