May 2018
Intermediate to advanced
576 pages
30h 25m
English
If you have sessions stuck in idle in transaction state, then you may want to consider setting the idle_in_transaction_session_timeout parameter, so that transactions in that mode will be canceled. The default for that is zero, meaning there will be no cancellation.
If not, try running shorter transactions or shorter queries.
If that is not an option, then consider setting old_snapshot_threshold. This parameter sets a time delay after which dead rows are at risk of being removed. If a query attempts to read data that has been removed then we cancel the query. All queries executing in less time than the old_snapshot_threshold parameter will be safe. This is a very similar concept to the way Hot Standby works (see Chapter 12