Crate postgres [−] [src]
Rust-Postgres is a pure-Rust frontend for the popular PostgreSQL database. It
exposes a high level interface in the vein of JDBC or Go's database/sql
package.
extern crate postgres; use postgres::{Connection, SslMode}; struct Person { id: i32, name: String, data: Option<Vec<u8>> } fn main() { let conn = Connection::connect("postgresql://postgres@localhost", &SslMode::None) .unwrap(); conn.execute("CREATE TABLE person ( id SERIAL PRIMARY KEY, name VARCHAR NOT NULL, data BYTEA )", &[]).unwrap(); let me = Person { id: 0, name: "Steven".to_string(), data: None }; conn.execute("INSERT INTO person (name, data) VALUES ($1, $2)", &[&me.name, &me.data]).unwrap(); let stmt = conn.prepare("SELECT id, name, data FROM person").unwrap(); for row in stmt.query(&[]).unwrap() { let person = Person { id: row.get(0), name: row.get(1), data: row.get(2) }; println!("Found person {}", person.name); } }
Modules
| types |
Traits dealing with Postgres data types |
Macros
| accepts! |
Generates a simple implementation of |
| to_sql_checked! |
Generates an implementation of |
Structs
| CancelData |
Contains information necessary to cancel queries for a session. |
| Column |
Information about a column of the result of a query. |
| ConnectParams |
Information necessary to open a new connection to a Postgres server. |
| Connection |
A connection to a Postgres database. |
| CopyInStatement |
A prepared |
| DbError |
A Postgres error or notice. |
| LazyRows |
A lazily-loaded iterator over the resulting rows of a query. |
| LoggingNoticeHandler |
A notice handler which logs at the |
| Notification |
An asynchronous notification. |
| Notifications |
An iterator over asynchronous notifications. |
| Row |
A single result row of a query. |
| Rows |
The resulting rows of a query. |
| RowsIntoIter |
An owning iterator over |
| RowsIter |
An iterator over |
| Slice |
An adapter type mapping slices to Postgres arrays. |
| Statement |
A prepared statement. |
| Transaction |
Represents a transaction on a database connection. |
| UserInfo |
Authentication information. |
| VecStreamIterator |
An adapter type implementing |
Enums
| ConnectError |
Reasons a new Postgres connection could fail. |
| ConnectTarget |
Specifies the target server to connect to. |
| Error |
An error encountered when communicating with the Postgres server. |
| ErrorPosition |
Represents the position of an error in a query. |
| IsolationLevel |
An enumeration of transaction isolation levels. |
| Kind |
Represents the kind of a Postgres type. |
| SqlState |
SQLSTATE error codes |
| SslMode |
Specifies the SSL support requested for a new connection. |
| Type |
A Postgres type. |
Traits
| FromSql |
A trait for types that can be created from a Postgres value. |
| GenericConnection |
A trait allowing abstraction over connections and transactions |
| HandleNotice |
Trait for types that can handle Postgres notice messages |
| IntoConnectParams |
A trait implemented by types that can be converted into a |
| RowIndex |
A trait implemented by types that can index into columns of a row. |
| StreamIterator |
An |
| ToSql |
A trait for types that can be converted into Postgres values. |
Functions
| cancel_query |
Attempts to cancel an in-progress query. |
Type Definitions
| Oid |
A Postgres OID. |
| Result |
A type alias of the result returned by many methods. |