docs: def _create_connection_pool(self, conn_params):
      '''
      Helper to initialize the connection pool.
      '''
      connection_pools_lock.acquire()
      try:
          # One more read to prevent a read/write race condition (We do this
          # here to avoid the overhead of locking each time we get a connection.)
          if (self.alias not in connection_pools or
              connection_pools[self.alias]['settings'] != self.settings_dict):
              logger.info("Creating connection pool for db alias %s" % self.alias)
              logger.info("  using MIN_CONNS = %s, MAX_CONNS = %s, TEST_ON_BORROW = %s" % (self._min_conns,
                                                                                           self._max_conns,
                                                                                           self._test_on_borrow))
  
              from psycopg2 import pool
              connection_pools[self.alias] = {
                  'pool': pool.ThreadedConnectionPool(self._min_conns, self._max_conns, **conn_params),
                  'settings': dict(self.settings_dict),
              }
      finally:
          connection_pools_lock.release()