Dear Andres, Thank you for giving comments! I understood that you have agreed the approach that publisher delays to send data.
> > I'm not sure why output plugin is involved in the delay mechanism. > > +many > > The output plugin absolutely never should be involved in something like > this. It was a grave mistake that OutputPluginUpdateProgress() calls were > added to the commit callback and then proliferated. > > > > It appears to me that it would be simpler if the delay occurred in reorder > > buffer or logical decoder instead. > > This is a feature specific to walsender. So the riggering logic should either > directly live in the walsender, or in a callback set in > LogicalDecodingContext. That could be called from decode.c or such. OK, I can follow the opinion. I think the walsender function should not be called directly from decode.c. So I implemented as callback in LogicalDecodingContext and it is called from decode.c if set. New patch was posted in [1]. [1]: https://www.postgresql.org/message-id/TYAPR01MB5866F00191375D0193320A4DF5A19%40TYAPR01MB5866.jpnprd01.prod.outlook.com Best Regards, Hayato Kuroda FUJITSU LIMITED