---
name: "ROLLBACK"
section: "7"
platform: "linux"
package: "postgresql"
version: "18.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ROLLBACK"
---

# ROLLBACK(7)

abort the current transaction

## NAME

ROLLBACK - abort the current transaction

## SYNOPSIS

```
ROLLBACK [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
```

## DESCRIPTION

**ROLLBACK** rolls back the current transaction and causes all the updates made by the transaction to be discarded.

## PARAMETERS

WORK\
 TRANSACTION

Optional key words. They have no effect.

AND CHAIN

If AND CHAIN is specified, a new (not aborted) transaction is immediately started with the same transaction characteristics (see SET TRANSACTION ([**SET\_TRANSACTION**(7)](/SET_TRANSACTION/7.md))) as the just finished one. Otherwise, no new transaction is started.

## NOTES

Use **COMMIT** to successfully terminate a transaction.

Issuing **ROLLBACK** outside of a transaction block emits a warning and otherwise has no effect. **ROLLBACK AND CHAIN** outside of a transaction block is an error.

## EXAMPLES

To abort all changes:

```
ROLLBACK;
```

## COMPATIBILITY

The command **ROLLBACK** conforms to the SQL standard. The form ROLLBACK TRANSACTION is a PostgreSQL extension.

## SEE ALSO

[**BEGIN**(7)](/BEGIN/7.md), [**COMMIT**(7)](/COMMIT/7.md), ROLLBACK TO SAVEPOINT ([**ROLLBACK\_TO\_SAVEPOINT**(7)](/ROLLBACK_TO_SAVEPOINT/7.md))
