So I started looking through this seriously, and my first question is why do the docs and code keep saying that "base types" are sent in binary? Why not just "data"? Are there any cases where we don't use binary format, if the subscription requests it?
If there's not a concrete reason to use that terminology, I'd rather flush it, because it seems confusing. regards, tom lane