Re: [HACKERS] Bug in WAL backup documentation

Simon Riggs <simon@2ndquadrant.com>

From: "Simon Riggs" <simon@2ndquadrant.com>
To: "Tom Lane" <tgl@sss.pgh.pa.us>
Cc: "Martijn van Oosterhout" <kleptog@svana.org>, <pgsql-hackers@postgresql.org>, "Bernd Helmle" <mailings@oopsware.de>, <pgsql-patches@postgresql.org>, "Florian G. Pflug" <fgp@phlo.org>
Date: 2006-11-05T15:02:11Z
Lists: pgsql-hackers

Attachments

On Sat, 2006-11-04 at 13:29 -0500, Tom Lane wrote:
> "Simon Riggs" <simon@2ndquadrant.com> writes:
> >> On Fri, Nov 03, 2006 at 11:25:09AM -0500, Tom Lane wrote:
> >>> Since 8.1 has done this all along and no one's actually complained about
> >>> it, I guess no one is using scripts that do "cd".  I'm inclined to go
> >>> with Bernd's suggestion to change the docs to match the code, but does
> >>> anyone have a contrary opinion?
> 
> > +1 Doc bug for 8.2, feature request for 8.3, unless Windows bites.
> 
> Looking back in the archives, I note that one of the arguments for
> making the server use relative paths everywhere was so that it'd be
> robust against things like DBAs moving directories that contain live
> postmasters.  If we provide a %P option, or otherwise encourage people
> to write scripts that depend on the absolute path of $PGDATA, we'd lose
> some of this robustness.  So that might be an argument for leaving the
> code as-is indefinitely ... not a very strong argument maybe, but it's
> more than just we're-too-lazy-to-add-%P.
> 
> Anyway, I've corrected the documentation in HEAD and 8.1.

I think I can fulfil Bernd, Florian and Martijn's wishes by supplying an
additional substitutable parameter %d which is replaced by the DataDir.
This allows people to use an absolute directory if they wish, allows us
to continue with the functionality of %p as-is and all without a
possible confusion between %p and %P. It also allows %d to be used as an
identifier which might be used to locate the appropriate archive for
those with multiple servers without editing the archive_command for each
of those servers.

So using %d/%p will give you the absolute path for forward-slashers.
Works for archive and recovery.

Patch included, code and docs. 
Code comments now discuss relative paths also.

Comments?

-- 
  Simon Riggs             
  EnterpriseDB   http://www.enterprisedb.com