pub struct TempPostgres { /* private fields */ }
Expand description

A temporary postgres instance.

All state of the postgres instance is stored in a temporary directory. Unless disabled, the temporary directory is deleted when this object is dropped.

Implementations§

source§

impl TempPostgres

source

pub async fn new() -> Result<Self, Error>

Spawn a new postgres instance with a temporary state directory.

source

pub fn builder() -> TempPostgresBuilder

Create a builder to customize your TempPostgres.

After configuring the desirec options, run TempPostgresBuilder::spawn().

source

pub fn process_id(&self) -> u32

Get the PID of the postgres server process.

source

pub fn directory(&self) -> &Path

Get the path of the temporary state directory.

source

pub fn log_path(&self) -> &Path

Get the path of the log file.

source

pub async fn read_log(&self) -> Result<String, Error>

Read the contents of the log file.

source

pub async fn client(&self) -> Result<Client, Error>

Connect an asycnchronous client to the postgres instance.

source

pub fn set_clean_on_drop(&mut self, clean_on_drop: bool)

Enable or disable clean-up of the temporary directory when this object is dropped.

source

pub async fn kill_and_clean(self) -> Result<(), Error>

Kill the server and remove the temporary state directory on the filesystem.

Note that the server will also be killed when this object is dropped, and unless disabled, the temporary state directory will be removed by the Drop implementation too.

This function ignores the value of clean_on_drop. It also allows for better error handling compared to just dropping the object.

source

pub async fn kill_no_clean(self) -> Result<(), Error>

Kill the server, but leave the temporary state directory on the filesystem.

Note that the server will also be killed when this object is dropped.

This function ignores the value of clean_on_drop. It also allows for better error handling compared to just dropping the object.

Trait Implementations§

source§

impl Debug for TempPostgres

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more