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:
SELECTqueries 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:
- Select the required connection in the Database Navigator, then open its context menu and choose Edit Connection
-
Go to Connection settings -> Initialization

-
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:
- Select the required connection in the Database Navigator
- Right-click the connection and choose Edit Connection
- 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.




