Re: [HACKERS] Replication to Postgres 10 on Windows is broken

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp>, jobin(dot)augustine(at)openscg(dot)com, Andres Freund <andres(at)anarazel(dot)de>, Noah Misch <noah(at)leadboat(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)postgresql(dot)org>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] Replication to Postgres 10 on Windows is broken
Date: 2017-08-16 23:57:34
Message-ID: 1762.1502927854@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

Michael Paquier <michael(dot)paquier(at)gmail(dot)com> writes:
> On Thu, Aug 17, 2017 at 8:13 AM, Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp> wrote:
>> Do we allow streaming replication among different OS?

> No. WAL is a binary format.

>> I thought it is
>> required that primary and standbys are same platform (in my
>> understanding this means the same hardware architecture and OS) in
>> streaming replication.

> Yep, I recall the same requirement.

In practice it's largely about architecture, I think. You definitely
need the same endianness and floating-point format, which are hardware,
and you need the same MAXALIGN, which is partly hardware but in principle
could be chosen differently in different ABI conventions for the same
hardware. (At least for non-alignment-picky hardware like Intel.
Alignment-picky hardware is likely going to dictate that choice too.)

We disclaim cross-OS portability partly because of the possible influence
of different ABI conventions, but it doesn't surprise me in the least if
in practice 64-bit Windows can interoperate with x86_64 Linux. (Less sure
about the 32-bit case --- it looks like pg_config.h.win32 chooses
MAXALIGN 8 in all cases, which would mean 32-bit Windows is more likely to
interoperate with 64-bit Linux than 32-bit Linux.)

The thing that's really likely to bite you cross-platform is dependency
of textual index sort ordering on non-C locale definitions. But that
wouldn't show up in a quick smoke test of replication ... and if you
really wanted, you could use C locale on both ends.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Eisentraut 2017-08-17 00:00:16 Re: [HACKERS] Replication to Postgres 10 on Windows is broken
Previous Message Michael Paquier 2017-08-16 23:41:38 Re: [HACKERS] Replication to Postgres 10 on Windows is broken

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2017-08-17 00:00:16 Re: [HACKERS] Replication to Postgres 10 on Windows is broken
Previous Message Peter Eisentraut 2017-08-16 23:50:39 Re: Re: [COMMITTERS] pgsql: Don't force-assign transaction id when exporting a snapshot.