Allow logical replication to copy tables in binary format
Melih Mutlu <m.melihmutlu@gmail.com>
From: Melih Mutlu <m.melihmutlu@gmail.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-08-10T15:03:56Z
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
Attachments
- 0001-Allow-logical-replication-to-copy-table-in-binary.patch (application/octet-stream) patch 0001
Hey hackers, 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. 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. You can find the small patch that only enables binary copy attached. What do you think about this change? Does it make sense? Am I missing something? [1] https://www.postgresql.org/docs/15/sql-createsubscription.html Best, Melih