Type: | enum |
Default: | buffered |
Context: | user |
Restart: | false |
Values: | [buffered, immediate] |
Since: | 16 |
The allowed values are buffered
and immediate
. The default is buffered
. This parameter is intended to be used to test logical decoding and replication of large transactions. The effect of debug_logical_replication_streaming
is different for the publisher and subscriber:
On the publisher side, debug_logical_replication_streaming
allows streaming or serializing changes immediately in logical decoding. When set to immediate
, stream each change if the streaming
option of CREATE SUBSCRIPTION is enabled, otherwise, serialize each change. When set to buffered
, the decoding will stream or serialize changes when logical_decoding_work_mem is reached.
On the subscriber side, if the streaming
option is set to parallel
, debug_logical_replication_streaming
can be used to direct the leader apply worker to send changes to the shared memory queue or to serialize all changes to the file. When set to buffered
, the leader sends changes to parallel apply workers via a shared memory queue. When set to immediate
, the leader serializes all changes to files and notifies the parallel apply workers to read and apply them at the end of the transaction.
On StackOverflow
On pgsql-hackers
- Re: Skip collecting decoded changes of already-aborted transactions
- RE: BUG #18641: Logical decoding of two-phase commit fails with TOASTed default values
- Re: BUG #18641: Logical decoding of two-phase commit fails with TOASTed default values
- Re: Convert node test compile-time settings into run-time parameters
- Re: Improve eviction algorithm in ReorderBuffer