title: How to make transaction when saving events to events store
body: <p>I would like to use transaction in wolkenkit-eventstore when saving events to eventstore and be able to rollback those events if something else fail, is it possible ?
  I saw in source code (in saveEvents method) that you are releasing connection pool:</p>
  <pre><code>try {
        const result = await connection.query({ name: `save events ${committedEvents.length}`, text, values });
  
        for (let i = 0; i &lt; result.rows.length; i++) {
          committedEvents[i].event.metadata.position = Number(result.rows[i].position);
        }
      } catch (ex) {
        if (ex.code === '23505' &amp;&amp; ex.detail.startsWith('Key (&quot;aggregateId&quot;, revision)')) {
          throw new Error('Aggregate id and revision already exist.');
        }
  
        throw ex;
      } finally {
        connection.release();
      }
  </code></pre>
  <p>at the finally step, so i can't gain this connection pool in any way.
  Is there any way i can do transaction based system with wolkenkit-eventstore ?</p>