Locking is an important topic in any kind of database. It is not enough to understand just how it works to write proper or better applications; it is also essential from a performance point of view. Without handling locks properly, your applications might not only be slow, they might also be wrong and behave in very unexpected ways. In my opinion, locking is the key to performance and having a good overview will certainly help. Therefore, understanding locking and transaction is important for administrators and developers alike. In this chapter, you will learn the following topics:
- Working with PostgreSQL transactions
- Understanding basic locking
- Making use of FOR SHARE and FOR UPDATE
- Understanding transaction isolation levels
- Considering SSI transactions
- Observing deadlocks and similar issues
- Optimizing storage and managing cleanups
At...