Re: Binary support for pgoutput plugin
Petr Jelinek <petr@2ndquadrant.com>
From: Petr Jelinek <petr@2ndquadrant.com>
To: Dave Cramer <davecramer@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Daniel Gustafsson <daniel@yesql.se>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
Michael Paquier <michael@paquier.xyz>, Dmitry Dolgov
<9erthalion6@gmail.com>, Thomas Munro <thomas.munro@gmail.com>,
Tomas Vondra <tomas.vondra@2ndquadrant.com>,
Petr Jelinek <petr.jelinek@2ndquadrant.com>,
Andres Freund <andres@anarazel.de>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-07-11T14:08:43Z
Lists: pgsql-hackers
Hi, On 11/07/2020 14:14, Dave Cramer wrote: > > > On Fri, 10 Jul 2020 at 14:21, Tom Lane <tgl@sss.pgh.pa.us > <mailto:tgl@sss.pgh.pa.us>> wrote: > > > Reading through the new patch, and running the tests, I'm marking > this as Ready > > for Committer. It does need some cosmetic TLC, quite possibly > just from > > pg_indent but I didn't validate if it will take care of > everything, and comment > > touchups (there is still a TODO comment around wording that needs > to be > > resolved). However, I think it's in good enough shape for > consideration at > > this point. > > I took a quick look through the patch and had some concerns: > > * Please strip out the PG_VERSION_NUM and USE_INTEGER_DATETIMES checks. > Those are quite dead so far as a patch for HEAD is concerned --- in > fact, > since USE_INTEGER_DATETIMES hasn't even been defined since v10 or so, > the patch is actively doing the wrong thing there. Not that it matters. > This code will never appear in any branch where float timestamps could > be a thing. > > * I doubt that the checks on USE_FLOAT4/8_BYVAL, sizeof(int), > endiannness, > etc, make any sense either. Those surely do not affect the on-the-wire > representation of values --- or if they do, we've blown it somewhere > else. > I'd just take out all those checks and assume that the binary > representation is sufficiently portable. (If it's not, it's more or > less > the user's problem, just as in binary COPY.) > > > So is there any point in having them as options then ? > I am guessing this is copied from pglogical, right? We have them there because it can optionally send data in the on-disk format (not the network binary format) and there this matters, but for network binary format they do not matter as Tom says. -- Petr Jelinek 2ndQuadrant - PostgreSQL Solutions for the Enterprise https://www.2ndQuadrant.com/
Commits
-
Weaken type-OID-matching checks in array_recv and record_recv.
- 670c0a1d474b 14.0 landed
-
Fix construction of updated-columns bitmap in logical replication.
- e8de627a3e05 11.9 landed
- d5daae47db5e 14.0 landed
- 71e561bd4bc2 12.4 landed
- 39d6aec1927c 10.14 landed
- 2f1f189cf880 13.0 landed
-
Allow logical replication to transfer data in binary format.
- 9de77b545313 14.0 landed
-
Phase 2 pgindent run for v12.
- 8255c7a5eeba 12.0 cited