Transactions are at the core of any modern relational database. The idea is to be able to make operations atomic. In other words, you want everything or nothing. If you want to delete 1 million rows, for example, you want none or all of them to be gone—you don't want to be stuck with a couple of remaining rows.
The most important thing is that the configuration of PostgreSQL doesn't really affect the maximum length of a transaction. Therefore, you can run basically (almost) infinitely long transactions changing billions of lines with hundreds of millions of statements.
Not all transactions are created equally. Therefore, in many cases, you have to control the visibility of data inside your transactions. This is exactly when transaction ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.