sui_deepbook_indexer/
postgres_manager.rs

1// Copyright (c) Mysten Labs, Inc.
2// SPDX-License-Identifier: Apache-2.0
3use diesel_async::AsyncPgConnection;
4use diesel_async::pooled_connection::AsyncDieselConnectionManager;
5use diesel_async::pooled_connection::bb8::Pool;
6
7pub(crate) type PgPool =
8    diesel_async::pooled_connection::bb8::Pool<diesel_async::AsyncPgConnection>;
9
10pub async fn get_connection_pool(database_url: String) -> PgPool {
11    let manager = AsyncDieselConnectionManager::<AsyncPgConnection>::new(database_url);
12    Pool::builder()
13        .test_on_check_out(true)
14        .build(manager)
15        .await
16        .expect("Could not build Postgres DB connection pool")
17}