diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 9f3f108b86d..b3d1232f993 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -1425,7 +1425,10 @@ The commands accepted in walsender mode are: Requests the server to send over the timeline history file for timeline tli. Server replies with a - result set of a single row, containing two fields: + result set of a single row, containing two fields. While the + fields are labeled as text and bytea, + they effectively return raw bytes, with no escaping or encoding + conversion: diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index d65dd98a579..110726bd5f5 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -460,6 +460,10 @@ SendTimeLineHistory(TimeLineHistoryCmd *cmd) pq_sendstring(&buf, "content"); /* col name */ pq_sendint(&buf, 0, 4); /* table oid */ pq_sendint(&buf, 0, 2); /* attnum */ + /* + * While this is labeled as BYTEAOID, it is the same output format + * as TEXTOID above. + */ pq_sendint(&buf, BYTEAOID, 4); /* type oid */ pq_sendint(&buf, -1, 2); /* typlen */ pq_sendint(&buf, 0, 4); /* typmod */