Re: Hot Standby remaining issues
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndQuadrant.com>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2009-12-04T08:49:57Z
Lists: pgsql-hackers
On Fri, 2009-12-04 at 10:37 +0200, Heikki Linnakangas wrote: > Regarding this item from the wiki page: > > The "standby delay" is measured as current timestamp - timestamp of last replayed commit record. If there's little activity in the master, that can lead to surprising results. For example, imagine that max_standby_delay is set to 8 hours. The standby is fully up-to-date with the master, and there's no write activity in master. After 10 hours, a long reporting query is started in the standby. Ten minutes later, a small transaction is executed in the master that conflicts with the reporting query. I would expect the reporting query to be canceled 8 hours after the conflicting transaction began, but it is in fact canceled immediately, because it's over 8 hours since the last commit record was replayed. > > > > * Simon says... changed to allow checkpoints to update recoveryLastXTime (Simon DONE) > > Update recoveryLastXTime at checkpoints doesn't help when the master is > completely idle, because we skip checkpoints in that case. It's better > than nothing, of course. Not if archive_timeout is set, which it would be in warm standby case. We can do even better than this with SR. -- Simon Riggs www.2ndQuadrant.com