sqlx_core_guts/postgres/
mod.rs

1//! **PostgreSQL** database driver.
2
3use crate::executor::Executor;
4
5pub mod advisory_lock;
6pub mod arguments;
7pub mod column;
8pub mod connection;
9pub mod copy;
10pub mod database;
11pub mod error;
12pub mod io;
13pub mod listener;
14pub mod message;
15pub mod options;
16pub mod query_result;
17pub mod row;
18pub mod statement;
19pub mod transaction;
20pub mod type_info;
21pub mod types;
22pub mod value;
23
24#[cfg(feature = "migrate")]
25pub mod migrate;
26
27pub use advisory_lock::{PgAdvisoryLock, PgAdvisoryLockGuard, PgAdvisoryLockKey};
28pub use arguments::{PgArgumentBuffer, PgArguments};
29pub use column::PgColumn;
30pub use connection::PgConnection;
31pub use copy::PgCopyIn;
32pub use database::Postgres;
33pub use error::{PgDatabaseError, PgErrorPosition};
34pub use listener::{PgListener, PgNotification};
35pub use message::PgSeverity;
36pub use options::{PgConnectOptions, PgSslMode};
37pub use query_result::PgQueryResult;
38pub use row::PgRow;
39pub use statement::PgStatement;
40pub use transaction::PgTransactionManager;
41pub use type_info::{PgTypeInfo, PgTypeKind};
42pub use types::PgHasArrayType;
43pub use value::{PgValue, PgValueFormat, PgValueRef};
44
45/// An alias for [`Pool`][crate::pool::Pool], specialized for Postgres.
46pub type PgPool = crate::pool::Pool<Postgres>;
47
48/// An alias for [`PoolOptions`][crate::pool::PoolOptions], specialized for Postgres.
49pub type PgPoolOptions = crate::pool::PoolOptions<Postgres>;
50
51/// An alias for [`Executor<'_, Database = Postgres>`][Executor].
52pub trait PgExecutor<'c>: Executor<'c, Database = Postgres> {}
53impl<'c, T: Executor<'c, Database = Postgres>> PgExecutor<'c> for T {}
54
55impl_into_arguments_for_arguments!(PgArguments);
56impl_executor_for_pool_connection!(Postgres, PgConnection, PgRow);
57impl_executor_for_transaction!(Postgres, PgRow);
58impl_acquire!(Postgres, PgConnection);
59impl_column_index_for_row!(PgRow);
60impl_column_index_for_statement!(PgStatement);
61impl_into_maybe_pool!(Postgres, PgConnection);
62impl_encode_for_option!(Postgres);