commit
Commits the current transaction, persisting all changes made within it. The next statement begins the next transaction; one that ran no statement is ended without anything being sent.
A transaction an earlier error aborted is not committed and not quietly rolled back either. PostgreSQL would answer the COMMIT with a ROLLBACK and report nothing, so the driver does not send it: the transaction stays FAILED, and rollback is the way out.
Throws
AUTO_COMMIT_VIOLATION where auto-commit is on, COMMIT_OF_FAILED_TRANSACTION where an earlier error aborted the transaction.