Simon Riggs wrote:
> 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.

If the system is completely idle, and no WAL is written, we skip xlog
switches too, even if archive_timeout is set . It would be pointless to
create a stream of WAL files with no content except for the XLOG_SWITCH
records.

-- 
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to