Greetings,
* Bruce Momjian (bruce@momjian.us) wrote:
> On Fri, Jun 14, 2019 at 10:39:40AM -0400, Bruce Momjian wrote:
> > On Fri, Jun 14, 2019 at 03:12:29PM +0200, Fabio Pardi wrote:
> > > Using --size-only, tells rsync to only check the size of the blocks.
> > > That is: if the block is present on the destination, and is the same
> > > size as the origin, then skip.
> >
> > The files are _exactly_ the same on primary and standby, so we don't
> > need to check anything. Frankly, it is really only doing hard linking
> > of the files.
>
> Here is the description from our docs:
>
> What this does is to record the links created by pg_upgrade's
> link mode that connect files in the old and new clusters on the
> primary server. It then finds matching files in the standby's old
> cluster and creates links for them in the standby's new cluster.
> Files that were not linked on the primary are copied from the
> primary to the standby. (They are usually small.) This provides
> rapid standby upgrades. Unfortunately, rsync needlessly copies
> files associated with temporary and unlogged tables because these
> files don't normally exist on standby servers.
>
> The primary and standby have to be binary the same or WAL replay would
> not work on the standby. (Yes, I sometimes forgot how this worked so I
> wrote it down in the docs.) :-)
Right- this is *not* a general process for building a replica, this is
specifically *only* for when doing a pg_upgrade and *everything* is shut
down when it runs, and every step is checked to ensure that there are no
errors during the process.
Thanks!
Stephen