Re: Hot Standby - ERROR: canceling statement due to conflict with recovery

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: Sean Laurent <sean(at)studyblue(dot)com>
Cc: Jens Wilke <jens(at)wilke(dot)org>, pgsql-general(at)postgresql(dot)org
Subject: Re: Hot Standby - ERROR: canceling statement due to conflict with recovery
Date: 2011-02-28 03:33:53
Message-ID: 4D6B17A1.5090707@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 28/02/11 03:57, Sean Laurent wrote:

> Right. I read all of that. I guess I just assumed it was possible to create
> a snapshot on the standby so that a longer running on the standby could
> complete. In particular, I was really hoping to run database dumps against
> the standby, not the master.

This makes me wonder if a possible extension to HS might (one day) be a
side log for rows that are still needed for transactions running on the
slave, but have been overwritten on the master.

When a log replay overwrites a page containing tuples still needed by a
transaction running on the slave, it could be copied to a temporary heap
that's deleted when the last slave transaction needing those tuples
finishes.

That'd be a LOT of work and would introduce differences in query
execution that'd make the standby more different to the master
(increasing testing burden) so it's not exactly an obvious no-brainer
thing to do. I'm sure it'd also be seriously complicated to get right,
and isn't anything I'd ever ask anybody to do unless I was paying them
well for their time. Maybe someone who really needs functionality like
this will fund it at some point - personally, I don't presently even use
HS, so it's well beyond my needs.

--
Craig Ringer

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jack Su 2011-02-28 03:44:20 Win32 8.3.3 install fail (sufficient privileges to install system services)
Previous Message Robert Treat 2011-02-28 03:21:37 Re: PG on two nodes with shared disk ocfs2 & drbd