Listen for PSQL notification using tokio_postgres?

This question is in the context of my HttpServer. Basically in my main I declare the PSQL connection:

    // PostgreSQL connection.
    let (client, connection) = tokio_postgres::connect("host=localhost user=postgres dbname=cryptoxonline", NoTls).await.unwrap();
    tokio::spawn(async move {
        if let Err(e) = connection.await {
            eprintln!("connection error: {}", e);
    let client = Arc::new(Mutex::new(client));

The client gets passed through as parameter to all the methods so it's available in all the route methods. E.g signature of a route-method:

    pub async fn get_algorithm(&self, req: Http, stream: &mut TcpStream, psql: Psql, api: Api) -> Result<HttpResponse, String>;

psql: Psql is the following type type Psql = Arc<Mutex<Client>>.

This way I can query to my Psql in all routes.

Now: There is one route which will upgrade the stream to a websocket. I want to listen for a Psql notification indicating if a row has been added to a specific table. If it has been added, a notification will be sent, my Rust-code will receive it, and send it to the client of the websocket.

So there is only one route which will need to have access to the notifications. The other routes just need to keep working as they are now.

So I was wondering if it's maybe possible to clone the connection, or to initiate another connection copying the parameters from the active connection to wait for the notifications?