code: def transaction(self, *, isolation='read_committed', readonly=False,
                      deferrable=False):
          
          self._check_open()
          return transaction.Transaction(self, isolation, readonly, deferrable)
docs: Create a :class:`~transaction.Transaction` object.
  
          Refer to `PostgreSQL documentation`_ on the meaning of transaction
          parameters.
  
          :param isolation: Transaction isolation mode, can be one of:
                            `'serializable'`, `'repeatable_read'`,
                            `'read_committed'`.
  
          :param readonly: Specifies whether or not this transaction is
                           read-only.
  
          :param deferrable: Specifies whether or not this transaction is
                             deferrable.
  
          .. _`PostgreSQL documentation`:
                  https://www.postgresql.org/docs/
                  current/static/sql-set-transaction.html