Questions

What is the purpose of a transaction?

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 one 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. 

How long can a transaction in PostgreSQL be?

The most important thing is that the configuration of PostgreSQL does not 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.

What is transaction isolation?

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 isolation comes into play. Transaction isolation levels allow you to do exactly that.

Should we avoid table locks?

Yes, definitely. Table locks lock out everybody else, which can lead to performance issues. The more table locks you can avoid, the better it is in the long run. Performance can suffer seriously.

What do transactions have to do with VACUUM?

Transactions and VACUUM are deeply related. The hole entire of VACUUM is to clean out dead rows after they have "expired". If transactions are not understood by the end user, there will always be issues with table bloat.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset