pub enum RecyclingMethod {
Fast,
Verified,
Clean,
Custom(String),
}
Expand description
Possible methods of how a connection is recycled.
The default is Fast
which does not check the connection health or
perform any clean-up queries.
Variants§
Fast
Only run Client::is_closed()
when recycling existing connections.
Unless you have special needs this is a safe choice.
Verified
Run Client::is_closed()
and execute a test query.
This is slower, but guarantees that the database connection is ready to
be used. Normally, Client::is_closed()
should be enough to filter
out bad connections, but under some circumstances (i.e. hard-closed
network connections) it’s possible that Client::is_closed()
returns false
while the connection is dead. You will receive an error
on your first query then.
Clean
Like Verified
query method, but instead use the following sequence
of statements which guarantees a pristine connection:
CLOSE ALL;
SET SESSION AUTHORIZATION DEFAULT;
RESET ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD TEMP;
DISCARD SEQUENCES;
This is similar to calling DISCARD ALL
. but doesn’t call
DEALLOCATE ALL
and DISCARD PLAN
, so that the statement cache is not
rendered ineffective.
Custom(String)
Like Verified
but allows to specify a custom SQL to be executed.
Implementations§
Trait Implementations§
Source§impl Clone for RecyclingMethod
impl Clone for RecyclingMethod
Source§fn clone(&self) -> RecyclingMethod
fn clone(&self) -> RecyclingMethod
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more