code: def add(self, connection):
          
          if id(connection) in self.connections:
              raise ValueError('Connection already exists in pool')
  
          if len(self.connections) == self.max_size:
              LOGGER.warning('Race condition found when adding new connection')
              try:
                  connection.close()
              except (psycopg2.Error, psycopg2.Warning) as error:
                  LOGGER.error('Error closing the conn that cant be used: %s',
                               error)
              raise PoolFullError(self)
          with self._lock:
              self.connections[id(connection)] = Connection(connection)
          LOGGER.debug('Pool %s added connection %s', self.id, id(connection))
docs: Add a new connection to the pool
  
          :param connection: The connection to add to the pool
          :type connection: psycopg2.extensions.connection
          :raises: PoolFullError