On 29.03.23 16:28, Tomas Vondra wrote:
Perhaps it'd be reasonable to tie the "protocol version" to subscriber
capabilities, so that a protocol version guarantees what message types
the subscriber understands. So we could increment the protocol version,
check it in pgoutput_startup and then error-out in the sequence callback
if the subscriber version is too old.

That would make sense.

That'd be nicer in the sense that we'd generate nicer error message on
the publisher, not an "unknown message type" on the subscriber. That's
doable, the main problem being it'd be inconsistent with the TRUNCATE
behavior. OTOH that was introduced in PG11, which is the oldest version
still under support ...

I think at the time TRUNCATE support was added, we didn't have a strong sense of how the protocol versioning would work or whether it would work at all, so doing nothing was the easiest way out.



Reply via email to