Subject: archive_command vs recovery_command paths

From: Craig Ringer <[email-masked]>
Date: Thu, 13 Feb 2014 08:20:02 +0800

Hi folks

Another point of confusion I've been seeing a lot in users on Stack
Overflow, dba.stackexchange.com, etc surrounds the meaning of paths
given in archive_command and restore_command.

Lots of people seem to assume that they are both relative to the master,
and that the master will run the restore_command to fetch archives to
send to the replica on request.

(Yes, I know that's completely missing the point of archive-based
replication, but it seems common).

So I think docs changes are needed to the explanations of those options,
and to the replication/recovery section, that better explain that we
assume there's shared storage like NFS involved, and if there isn't you
need to use commands like scp/rsync instead, or use tools like WAL-E.

I'm not going to get time to do this one for at least a few days, but
I'm posting it now partly so I don't forget about it.

-- 
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

-- 
Sent via pgsql-docs mailing list ([email-masked])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

---

From: Bruce Momjian <[email-masked]>
Date: Sat, 19 Apr 2014 15:00:11 -0400

> I'm posting it now partly so I don't forget about it.

I have applied the attached patch which at least clarifies this issue.

-- 
  Bruce Momjian  <[email-masked]>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
new file mode 100644
index 17ef25b..4a33f87
*** a/doc/src/sgml/config.sgml
--- b/doc/src/sgml/config.sgml
*************** include 'filename'
*** 2279,2285 ****
        </indexterm>
        <listitem>
         <para>
!         The shell command to execute to archive a completed WAL file
          segment.  Any <literal>%p</> in the string is
          replaced by the path name of the file to archive, and any
          <literal>%f</> is replaced by only the file name.
--- 2279,2285 ----
        </indexterm>
        <listitem>
         <para>
!         The local shell command to execute to archive a completed WAL file
          segment.  Any <literal>%p</> in the string is
          replaced by the path name of the file to archive, and any
          <literal>%f</> is replaced by only the file name.
diff --git a/doc/src/sgml/recovery-config.sgml b/doc/src/sgml/recovery-config.sgml
new file mode 100644
index 9335aca..c9ed2df
*** a/doc/src/sgml/recovery-config.sgml
--- b/doc/src/sgml/recovery-config.sgml
***************
*** 42,48 ****
        </indexterm>
        <listitem>
         <para>
!         The shell command to execute to retrieve an archived segment of
          the WAL file series. This parameter is required for archive recovery,
          but optional for streaming replication.
          Any <literal>%f</> in the string is
--- 42,48 ----
        </indexterm>
        <listitem>
         <para>
!         The local shell command to execute to retrieve an archived segment of
          the WAL file series. This parameter is required for archive recovery,
          but optional for streaming replication.
          Any <literal>%f</> in the string is