Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 0F86937C059; Mon, 29 Sep 2008 10:52:21 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 49830-06-2; Mon, 29 Sep 2008 10:52:14 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from outmail128115.authsmtp.com (outmail128115.authsmtp.com [62.13.128.115]) by postgresql.org (Postfix) with ESMTP id 9119537C07A; Mon, 29 Sep 2008 10:52:14 -0300 (ADT) Received: from mail-c187.authsmtp.com (mail-c187.authsmtp.com [62.13.128.33]) by punt5.authsmtp.com (8.14.2/8.14.2/Kp) with ESMTP id m8TDqAJw020432; Mon, 29 Sep 2008 14:52:10 +0100 (BST) Received: from [192.168.0.3] (85-211-71-126.dyn.gotadsl.co.uk [85.211.71.126]) (authenticated bits=0) by mail.authsmtp.com (8.14.2/8.14.2/Kp) with ESMTP id m8TDq9a6019745; Mon, 29 Sep 2008 14:52:09 +0100 (BST) Subject: Re: [PATCHES] Infrastructure changes for recovery From: Simon Riggs To: Tom Lane Cc: List pgsql-patches , pgsql-hackers In-Reply-To: <10307.1222692406@sss.pgh.pa.us> References: <1218109459.4549.423.camel@ebony.2ndQuadrant> <1220213074.4371.173.camel@ebony.2ndQuadrant> <1905.1220895241@sss.pgh.pa.us> <1221080797.3913.768.camel@ebony.2ndQuadrant> <15776.1221594318@sss.pgh.pa.us> <1221725145.3913.2315.camel@ebony.2ndQuadrant> <16992.1221743196@sss.pgh.pa.us> <1221745847.3913.2408.camel@ebony.2ndQuadrant> <18549.1221746983@sss.pgh.pa.us> <1222121161.4445.248.camel@ebony.2ndQuadrant> <1222184541.4445.400.camel@ebony.2ndQuadrant> <28973.1222381719@sss.pgh.pa.us> <1222424415.4445.917.camel@ebony.2ndQuadrant> <9794.1222624945@sss.pgh.pa.us> <1222649659.4445.1061.camel@ebony.2ndQuadrant> <22856.1222650961@sss.pgh.pa.us> <1222691596.4445.1188.camel@ebony.2ndQuadrant> <10307.1222692406@sss.pgh.pa.us> Content-Type: text/plain Date: Mon, 29 Sep 2008 14:53:28 +0100 Message-Id: <1222696408.4445.1229.camel@ebony.2ndQuadrant> Mime-Version: 1.0 X-Mailer: Evolution 2.12.0 Content-Transfer-Encoding: 7bit X-Server-Quench: cf8bec30-8e2d-11dd-8155-001185d377ca X-AuthRoute: OCdxZQATClZOTQEd DAteCiNZVAwpPBRK HVkIKg5MJUcNSQVJ NksadRtFagxbflxB HGQLW1xEUVl7XGF/ awMfZQBDYEtPQQJr TklLRE1QEQdtHhxP WxZ6Jlh7JgNGeXd3 YUMsXHRSWwopI04v Fx1XFXAOMGU0dWEe BBRFfwJRdR5Kfh5E YlUrV3QKMjRJBC9q VzwLFgwaHRhkHWxm YigmDn8oenNDPzgy XRkZAS8yFlEYXSh7 JBwvLFERBw4fNV96 K1YqXkwVKQ56 X-Authentic-SMTP: 61633235383639.squirrel.dmpriest.net.uk:1378/Kp X-Report-SPAM: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-Virus-Status: No virus detected - but ensure you scan with your own anti-virus system! X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200809/1803 X-Sequence-Number: 124932 On Mon, 2008-09-29 at 08:46 -0400, Tom Lane wrote: > Simon Riggs writes: > > ... That kinda works, but the problem is that restartpoints are time based, > > not log based. We need them to be deterministic for us to rely upon them > > in the above way. > > Right, but the performance disadvantages of making them strictly > log-distance-based are pretty daunting. We don't really want slaves > doing that while they're in catchup mode. I don't think we need to perform restartpoints actually, now I think about it. It's only the LSN that is important. I think we can get away with writing the LSN value to disk, as you suggested, but only every so often. No need to do it after every WAL record, just consistently every so often, so it gives us a point at which we know we are safe. We will need to have Startup process block momentarily while the value is written. Propose Startup process writes/flushes LSN to pg_control every time we change xlogid. That's independent of WAL file size and fairly clear. When we reach that LSN + 1 we will know that no LSNs higher than that value can have reached disk. OK? -- Simon Riggs www.2ndQuadrant.com PostgreSQL Training, Services and Support