Re: Allow logical replication to copy tables in binary format
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Euler Taveira <euler@eulerto.com>
Cc: Melih Mutlu <m.melihmutlu@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-08-11T11:04:21Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow logical replication to copy tables in binary format.
- ecb696527c01 16.0 landed
-
Common function for percent placeholder replacement
- c96de2ce1782 16.0 cited
-
Doc: add XML ID attributes to <sectN> and <varlistentry> tags.
- 78ee60ed84bb 16.0 cited
-
Re-order disable_on_error in tab-complete.
- d547f7cf5efc 16.0 cited
-
Make subscription tests pass with log_error_verbosity=verbose
- 19408aae7fa2 15.0 cited
-
Weaken type-OID-matching checks in array_recv and record_recv.
- 670c0a1d474b 14.0 cited
-
Allow logical replication to transfer data in binary format.
- 9de77b545313 14.0 cited
On Thu, Aug 11, 2022 at 7:34 AM Euler Taveira <euler@eulerto.com> wrote: > > On Wed, Aug 10, 2022, at 12:03 PM, Melih Mutlu wrote: > > I see that logical replication subscriptions have an option to enable binary [1]. > When it's enabled, subscription requests publisher to send data in binary format. > But this is only the case for apply phase. In tablesync, tables are still copied as text. > > This option could have been included in the commit 9de77b54531; it wasn't. > Maybe it wasn't considered because the initial table synchronization can be a > separate step in your logical replication setup idk. I agree that the binary > option should be available for the initial table synchronization. > > To copy tables, COPY command is used and that command supports copying in binary. So it seemed to me possible to copy in binary for tablesync too. > I'm not sure if there is a reason to always copy tables in text format. But I couldn't see why not to do it in binary if it's enabled. > > The reason to use text format is that it is error prone. There are restrictions > while using the binary format. For example, if your schema has different data > types for a certain column, the copy will fail. > Won't such restrictions hold true even during replication? -- With Regards, Amit Kapila.