Chapter 4. Working with Transactions
Now that we have covered the installation, key objects (databases and schemas) and high-level architecture, let's look at what is probably the most important concept when it comes to working with databases: transactions. The ability to provide transaction control at different isolation levels is one reason why relational databases, whether it is PostgreSQL, Oracle, DB2, or SQL Server, still rule the roost when it comes to supporting critical applications where data integrity is important. Due to their tried and tested transaction handling capabilities, relational database management systems have managed to hold their place even in a time when NoSQL databases seem to be getting most of the attention and blogspace. In this chapter, we will learn the theoretical underpinnings of transactions. We will also see how PostgreSQL manages transactions and concurrency.