Make the streaming replication protocol messages architecture-independent.
We used to send structs wrapped in CopyData messages, which works as long as
the client and server agree on things like endianess, timestamp format and
alignment. That's good enough for running a standby server, which has to run
on the same platform anyway, but it's useful for tools like pg_receivexlog
to work across platforms.
This breaks protocol compatibility of streaming replication, but we never
promised that to be compatible across versions, anyway.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/add6c3179a4d4fa3e62dd3e86a00f23303336bac
Modified Files
--------------
doc/src/sgml/protocol.sgml | 133 +++++++++++++++-------------
src/backend/replication/walreceiver.c | 145 ++++++++++++++++++-------------
src/backend/replication/walsender.c | 146 +++++++++++++++++--------------
src/backend/utils/adt/timestamp.c | 44 +++++++++
src/bin/pg_basebackup/receivelog.c | 156 +++++++++++++++++++++------------
src/include/replication/walprotocol.h | 128 ---------------------------
src/include/utils/timestamp.h | 13 +++-
7 files changed, 391 insertions(+), 374 deletions(-)