Struct Postgres
pub struct Postgres;Expand description
PostgreSQL database driver.
Trait Implementations§
§impl Database for Postgres
impl Database for Postgres
§const URL_SCHEMES: &'static [&'static str]
const URL_SCHEMES: &'static [&'static str]
The schemes for database URLs that should match this driver.
§type Connection = PgConnection
type Connection = PgConnection
The concrete
Connection implementation for this database.§type TransactionManager = PgTransactionManager
type TransactionManager = PgTransactionManager
The concrete
TransactionManager implementation for this database.§type QueryResult = PgQueryResult
type QueryResult = PgQueryResult
The concrete
QueryResult implementation for this database.§type Value = PgValue
type Value = PgValue
The concrete type used to hold an owned copy of the not-yet-decoded value that was
received from the database.
§type ValueRef<'r> = PgValueRef<'r>
type ValueRef<'r> = PgValueRef<'r>
The concrete type used to hold a reference to the not-yet-decoded value that has just been
received from the database.
§type ArgumentBuffer<'q> = PgArgumentBuffer
type ArgumentBuffer<'q> = PgArgumentBuffer
The concrete type used as a buffer for arguments while encoding.
Source§impl<'r> Decode<'r, Postgres> for PkceMethod
impl<'r> Decode<'r, Postgres> for PkceMethod
§impl Encode<'_, Postgres> for &[u8]
impl Encode<'_, Postgres> for &[u8]
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl Encode<'_, Postgres> for &str
impl Encode<'_, Postgres> for &str
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl<const N: usize> Encode<'_, Postgres> for [u8; N]
impl<const N: usize> Encode<'_, Postgres> for [u8; N]
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl Encode<'_, Postgres> for Box<[u8]>
impl Encode<'_, Postgres> for Box<[u8]>
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl Encode<'_, Postgres> for Box<str>
impl Encode<'_, Postgres> for Box<str>
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl Encode<'_, Postgres> for String
impl Encode<'_, Postgres> for String
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl Encode<'_, Postgres> for Uuid
impl Encode<'_, Postgres> for Uuid
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl Encode<'_, Postgres> for Vec<u8>
impl Encode<'_, Postgres> for Vec<u8>
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl<'q, T> Encode<'q, Postgres> for &[T]
impl<'q, T> Encode<'q, Postgres> for &[T]
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl<'q, T, const N: usize> Encode<'q, Postgres> for [T; N]
impl<'q, T, const N: usize> Encode<'q, Postgres> for [T; N]
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl<'q, T> Encode<'q, Postgres> for Vec<T>
impl<'q, T> Encode<'q, Postgres> for Vec<T>
§fn encode_by_ref(
&self,
buf: &mut PgArgumentBuffer,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>
fn encode_by_ref( &self, buf: &mut PgArgumentBuffer, ) -> Result<IsNull, Box<dyn Error + Send + Sync>>
§fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
fn encode(
self,
buf: &mut <DB as Database>::ArgumentBuffer<'q>,
) -> Result<IsNull, Box<dyn Error + Send + Sync>>where
Self: Sized,
Writes the value of
self into buf in the expected format for the database.fn produces(&self) -> Option<<DB as Database>::TypeInfo>
fn size_hint(&self) -> usize
§impl MigrateDatabase for Postgres
impl MigrateDatabase for Postgres
fn create_database( url: &str, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>
fn database_exists( url: &str, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + '_>>
fn drop_database( url: &str, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>
fn force_drop_database( url: &str, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>
§impl TestSupport for Postgres
impl TestSupport for Postgres
§fn test_context(
args: &TestArgs,
) -> Pin<Box<dyn Future<Output = Result<TestContext<Postgres>, Error>> + Send + '_>>
fn test_context( args: &TestArgs, ) -> Pin<Box<dyn Future<Output = Result<TestContext<Postgres>, Error>> + Send + '_>>
Get parameters to construct a
Pool suitable for testing. Read morefn cleanup_test( db_name: &str, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + '_>>
§fn cleanup_test_dbs() -> Pin<Box<dyn Future<Output = Result<Option<usize>, Error>> + Send>>
fn cleanup_test_dbs() -> Pin<Box<dyn Future<Output = Result<Option<usize>, Error>> + Send>>
Cleanup any test databases that are no longer in-use. Read more
§impl<T1, T2, T3> Type<Postgres> for (T1, T2, T3)
impl<T1, T2, T3> Type<Postgres> for (T1, T2, T3)
§impl<T1, T2, T3, T4> Type<Postgres> for (T1, T2, T3, T4)
impl<T1, T2, T3, T4> Type<Postgres> for (T1, T2, T3, T4)
§impl<T1, T2, T3, T4, T5> Type<Postgres> for (T1, T2, T3, T4, T5)
impl<T1, T2, T3, T4, T5> Type<Postgres> for (T1, T2, T3, T4, T5)
§impl<T1, T2, T3, T4, T5, T6> Type<Postgres> for (T1, T2, T3, T4, T5, T6)
impl<T1, T2, T3, T4, T5, T6> Type<Postgres> for (T1, T2, T3, T4, T5, T6)
§impl<T1, T2, T3, T4, T5, T6, T7> Type<Postgres> for (T1, T2, T3, T4, T5, T6, T7)
impl<T1, T2, T3, T4, T5, T6, T7> Type<Postgres> for (T1, T2, T3, T4, T5, T6, T7)
§impl<T1, T2, T3, T4, T5, T6, T7, T8> Type<Postgres> for (T1, T2, T3, T4, T5, T6, T7, T8)
impl<T1, T2, T3, T4, T5, T6, T7, T8> Type<Postgres> for (T1, T2, T3, T4, T5, T6, T7, T8)
§impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> Type<Postgres> for (T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> Type<Postgres> for (T1, T2, T3, T4, T5, T6, T7, T8, T9)
Source§impl Type<Postgres> for ActivityProgress
impl Type<Postgres> for ActivityProgress
Source§impl Type<Postgres> for ApplicationTask
impl Type<Postgres> for ApplicationTask
Source§impl Type<Postgres> for ApplicationType
impl Type<Postgres> for ApplicationType
Source§impl Type<Postgres> for CertificateTextAnchor
impl Type<Postgres> for CertificateTextAnchor
Source§impl Type<Postgres> for CourseBackgroundQuestionType
impl Type<Postgres> for CourseBackgroundQuestionType
Source§impl Type<Postgres> for EmailTemplateType
impl Type<Postgres> for EmailTemplateType
Source§impl Type<Postgres> for ExerciseRepositoryStatus
impl Type<Postgres> for ExerciseRepositoryStatus
Source§impl Type<Postgres> for GradingProgress
impl Type<Postgres> for GradingProgress
Source§impl Type<Postgres> for GrantTypeName
impl Type<Postgres> for GrantTypeName
Source§impl Type<Postgres> for HistoryChangeReason
impl Type<Postgres> for HistoryChangeReason
Source§impl Type<Postgres> for MessageRole
impl Type<Postgres> for MessageRole
§impl Type<Postgres> for NaiveDateTime
impl Type<Postgres> for NaiveDateTime
Source§impl Type<Postgres> for PeerOrSelfReviewQuestionType
impl Type<Postgres> for PeerOrSelfReviewQuestionType
Source§impl Type<Postgres> for PeerReviewProcessingStrategy
impl Type<Postgres> for PeerReviewProcessingStrategy
§impl<Tz> Type<Postgres> for PgRange<DateTime<Tz>>where
Tz: TimeZone,
Available on crate feature chrono only.
impl<Tz> Type<Postgres> for PgRange<DateTime<Tz>>where
Tz: TimeZone,
Available on crate feature
chrono only.§impl Type<Postgres> for PgRange<NaiveDateTime>
Available on crate feature chrono only.
impl Type<Postgres> for PgRange<NaiveDateTime>
Available on crate feature
chrono only.Source§impl Type<Postgres> for PkceMethod
impl Type<Postgres> for PkceMethod
Source§impl Type<Postgres> for ProposalStatus
impl Type<Postgres> for ProposalStatus
Source§impl Type<Postgres> for ReasoningEffortLevel
impl Type<Postgres> for ReasoningEffortLevel
Source§impl Type<Postgres> for ReportReason
impl Type<Postgres> for ReportReason
Source§impl Type<Postgres> for ReviewingStage
impl Type<Postgres> for ReviewingStage
Source§impl Type<Postgres> for TeacherDecisionType
impl Type<Postgres> for TeacherDecisionType
Source§impl Type<Postgres> for TokenEndpointAuthMethod
impl Type<Postgres> for TokenEndpointAuthMethod
Source§impl Type<Postgres> for UserPointsUpdateStrategy
impl Type<Postgres> for UserPointsUpdateStrategy
Source§impl Type<Postgres> for VerbosityLevel
impl Type<Postgres> for VerbosityLevel
§impl TypeChecking for Postgres
impl TypeChecking for Postgres
§const PARAM_CHECKING: ParamChecking = ::sqlx_core::type_checking::ParamChecking::Strong
const PARAM_CHECKING: ParamChecking = ::sqlx_core::type_checking::ParamChecking::Strong
Describes how the database in question typechecks query parameters.
§fn param_type_for_id(
info: &<Postgres as Database>::TypeInfo,
) -> Option<&'static str>
fn param_type_for_id( info: &<Postgres as Database>::TypeInfo, ) -> Option<&'static str>
Get the full path of the Rust type that corresponds to the given
TypeInfo, if applicable. Read more§fn return_type_for_id(
info: &<Postgres as Database>::TypeInfo,
) -> Option<&'static str>
fn return_type_for_id( info: &<Postgres as Database>::TypeInfo, ) -> Option<&'static str>
Get the full path of the Rust type that corresponds to the given
TypeInfo, if applicable. Read more§fn get_feature_gate(
info: &<Postgres as Database>::TypeInfo,
) -> Option<&'static str>
fn get_feature_gate( info: &<Postgres as Database>::TypeInfo, ) -> Option<&'static str>
Get the name of the Cargo feature gate that must be enabled to process the given
TypeInfo,
if applicable.§fn fmt_value_debug(
value: &<Postgres as Database>::Value,
) -> FmtValue<'_, Postgres>
fn fmt_value_debug( value: &<Postgres as Database>::Value, ) -> FmtValue<'_, Postgres>
impl HasStatementCache for Postgres
Auto Trait Implementations§
impl Freeze for Postgres
impl RefUnwindSafe for Postgres
impl Send for Postgres
impl Sync for Postgres
impl Unpin for Postgres
impl UnwindSafe for Postgres
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ServiceExt for T
impl<T> ServiceExt for T
§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Decompress response bodies. Read more
§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more