--- title: "END" id: sql-end pg_version: "20devel" --- # END — commit the current transaction ## Synopsis ``` END [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ] ``` ## Description `END` commits the current transaction. All changes made by the transaction become visible to others and are guaranteed to be durable if a crash occurs. This command is a PostgreSQL extension that is equivalent to [`COMMIT`](sql-commit.md). ## Parameters **`WORK`**, **`TRANSACTION`** Optional key words. They have no effect. **`AND CHAIN`** If `AND CHAIN` is specified, a new transaction is immediately started with the same transaction characteristics (see [SET TRANSACTION](sql-set-transaction.md)) as the just finished one. Otherwise, no new transaction is started. ## Notes Use [`ROLLBACK`](sql-rollback.md) to abort a transaction. Issuing `END` when not inside a transaction does no harm, but it will provoke a warning message. ## Examples To commit the current transaction and make all changes permanent: END; ## Compatibility `END` is a PostgreSQL extension that provides functionality equivalent to [`COMMIT`](sql-commit.md), which is specified in the SQL standard. ## See Also [BEGIN](sql-begin.md), [COMMIT](sql-commit.md), [ROLLBACK](sql-rollback.md)