Re: [HACKERS] Point in Time Recovery - Mailing list pgsql-patches

From Tom Lane
Subject Re: [HACKERS] Point in Time Recovery
Date
Msg-id 25995.1090127083@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Point in Time Recovery  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: [HACKERS] Point in Time Recovery  (Simon Riggs <simon@2ndquadrant.com>)
Re: [HACKERS] Point in Time Recovery  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> So you want to merge them all into a single command string.  That does
> seem less error-prone.  I see a few variables that turn off
> when set to '' like unix_socket_*.  How would this command string work?
> How do you specify the WAL file name to transfer?

No different from before, necessarily.  However I did not like the
restriction to a single %s in the submitted implementation.  What I
have in my local copy is
    %p -> full path of XLOG file to be archived
    %f -> base name of XLOG file to be archived
and the suggested example becomes
    archive_command = 'cp %p /mnt/server/pgarchive/%f'

Note that this example immediately eliminates one of the failure modes
Simon enumerates in his README, which is to try 'cp %s /foo' where /foo
isn't a directory.  More generally, though, *only* a cp-to-directory
solution is likely to be very happy with not being able to get at the
base file name.  Yes you can make a shellscript and use basename,
but I don't think you should have to do that if it could otherwise
be a one-liner.

(In case it's not obvious from the above, I am hacking with intent to
commit soon.  Maybe tomorrow, if my wife doesn't make me paint the
bathroom instead...)

            regards, tom lane

pgsql-patches by date:

Previous
From: "Matthew T. O'Connor"
Date:
Subject: autovacuum integration attempt #3
Next
From: Alvaro Herrera
Date:
Subject: Re: [subxacts] Savepoint syntax