Skip to content

Transaction mode

Transaction modes define how DBeaver manages database changes while you work with SQL. They control when transactions are finalized and when changes become visible to other users.

DBeaver supports two transaction modes: Auto-commit and Manual commit.

  • In Manual commit mode, data-changing statements remain in an open transaction. You decide when to finish it. Click Commit to apply all pending changes or Rollback to discard them.
  • In Auto-commit mode, each statement is committed immediately after execution. Changes are saved automatically and can’t be rolled back.

Control the transaction mode

You can control the transaction mode in two ways:

  • Switch the transaction mode manually
  • Select the default transaction mode for the connection

Important

By default, the transaction mode depends on the selected Connection type:

  • Production connections use Manual commit
  • Development and Test connections use Auto-commit

Manual commit mode

To enable manual commit while working in the SQL Editor or Data Editor, click the Manual commit button () on the toolbar.

Info

Use Manual commit when you want full control over applying changes.

Executing statements

When you run SQL statements, DBeaver tracks all data-modifying operations inside the current transaction.

Indicator state Meaning
Pending modifying statements exist
No pending changes

Apply or discard changes

Use action buttons to choose what happens with current transaction:

Action Button What it does
Commit Applies all pending changes
Rollback Discards all pending changes

To review all active transactions before applying or discarding them, use Pending transactions.

Pending transactions

This window shows all active transactions for the current session, including those from multiple connections.

To open the Pending transactions, click the arrow next to the Transaction Log button () in the toolbar and choose Pending transactions.

Transaction log

Use the Transaction log to review operations executed in the current session.

To open the Transaction log and review executed operations, click the Transaction log button () in the toolbar.

Info

Alternatively, hover over the transaction indicator to see detailed statistics for executed statements:

Auto-commit mode

Important

Changes committed in Auto-commit mode applied immediately and can’t be rolled back.

To enable Auto-commit while working in the SQL Editor or Data Editor, click the Auto-commit button () on the toolbar.

Executing statements

DBeaver commits each SQL statement automatically.

Indicator state Meaning
Auto-commit mode is active

Smart commit mode

Use Smart commit for safer Auto-commit behavior. Smart commit reduces the risk of accidental data changes while keeping Auto-commit enabled.

When Smart commit is enabled and Auto-commit mode is active:

  • SELECT queries run without starting a transaction
  • When you execute a data-modifying statement (UPDATE, INSERT, DELETE, UPSERT, MERGE, etc), DBeaver switches to Manual commit before execution
  • The same applies when you edit table data and save changes

Tip

If Return to Auto-commit on transaction end is enabled in connection types preferences, DBeaver switches back to Auto-commit mode after Commit or Rollback.

Transaction isolation level

You can set the transaction isolation level for both Auto-commit and Manual commit modes.

Use the arrow next to the Transaction mode icon to select the required isolation level:

Setting Description
Read uncommitted Allows a transaction to read data that has not yet been committed by other transactions.
Read committed Ensures a transaction only reads data that has been committed at the time the transaction began.
Repeatable read Guarantees if a row is read twice in the same transaction, the result will be the same.
Serializable Ensures transactions occur in a completely isolated fashion, equivalent to serial transaction execution.

Default transaction mode

To configure the default transaction mode:

  1. Select the required connection in the Database Navigator, then open its context menu and choose Edit Connection
  2. Go to Connection settings -> Initialization

  3. On the Initialization page, choose how the transaction mode is applied:

    • Default
    • Auto-commit
    • Manual commit

    Info

    The Default option follows the Auto-commit by default setting defined in the Connection type. To edit it, edit the connection type.

Configure default transaction behavior

To configure default transaction behavior:

  1. Select the required connection in the Database Navigator
  2. Right-click the connection and choose Edit Connection
  3. Open Connection settings -> Initialization -> Transactions.

Setting Description
Smart commit mode Enables safer Auto-commit behavior. Before executing a data-modifying statement, DBeaver switches to Manual commit mode.
Return to auto-commit on transaction end Switches back to Auto-commit after a transaction ends with Commit or Rollback. Works only with Smart commit mode enabled.
Automatically end long idle transactions (seconds) Closes transactions after the specified idle time. No user activity is required before the transaction ends.
Show transaction end notification Shows a notification when a transaction ends with commit or rollback.

Info

If you want different default behavior across multiple connections, configure it using Connection Types.