[−][src]Function async_postgres::connect_tls
pub async fn connect_tls<T>(
config: Config,
__arg1: T
) -> Result<(Client, Connection<Socket, T::Stream>)> where
T: MakeTlsConnect<Socket>,
Connect to postgres server with a tls connector.
use async_postgres::connect_tls; use native_tls::{Certificate, TlsConnector}; use postgres_native_tls::MakeTlsConnector; use std::fs; use std::error::Error; use async_std::task::spawn; async fn play() -> Result<(), Box<dyn Error>> { let cert = fs::read("database_cert.pem")?; let cert = Certificate::from_pem(&cert)?; let connector = TlsConnector::builder() .add_root_certificate(cert) .build()?; let connector = MakeTlsConnector::new(connector); let url = "host=localhost user=postgres sslmode=require"; let (client, conn) = connect_tls(url.parse()?, connector).await?; spawn(conn); let row = client.query_one("SELECT * FROM user WHERE id=$1", &[&0]).await?; let value: &str = row.get(0); println!("value: {}", value); Ok(()) }