mirror of
https://github.com/postgres/postgres.git
synced 2025-08-24 09:27:52 +03:00
Lag tracking for logical replication
Lag tracking is called for each commit, but we introduce a pacing delay to ensure we don't swamp the lag tracker. Author: Petr Jelinek, with minor pacing delay code from me
This commit is contained in:
@@ -26,6 +26,12 @@ typedef void (*LogicalOutputPluginWriterWrite) (
|
||||
|
||||
typedef LogicalOutputPluginWriterWrite LogicalOutputPluginWriterPrepareWrite;
|
||||
|
||||
typedef void (*LogicalOutputPluginWriterUpdateProgress) (
|
||||
struct LogicalDecodingContext *lr,
|
||||
XLogRecPtr Ptr,
|
||||
TransactionId xid
|
||||
);
|
||||
|
||||
typedef struct LogicalDecodingContext
|
||||
{
|
||||
/* memory context this is all allocated in */
|
||||
@@ -52,6 +58,7 @@ typedef struct LogicalDecodingContext
|
||||
*/
|
||||
LogicalOutputPluginWriterPrepareWrite prepare_write;
|
||||
LogicalOutputPluginWriterWrite write;
|
||||
LogicalOutputPluginWriterUpdateProgress update_progress;
|
||||
|
||||
/*
|
||||
* Output buffer.
|
||||
@@ -85,13 +92,15 @@ extern LogicalDecodingContext *CreateInitDecodingContext(char *plugin,
|
||||
bool need_full_snapshot,
|
||||
XLogPageReadCB read_page,
|
||||
LogicalOutputPluginWriterPrepareWrite prepare_write,
|
||||
LogicalOutputPluginWriterWrite do_write);
|
||||
LogicalOutputPluginWriterWrite do_write,
|
||||
LogicalOutputPluginWriterUpdateProgress update_progress);
|
||||
extern LogicalDecodingContext *CreateDecodingContext(
|
||||
XLogRecPtr start_lsn,
|
||||
List *output_plugin_options,
|
||||
XLogPageReadCB read_page,
|
||||
LogicalOutputPluginWriterPrepareWrite prepare_write,
|
||||
LogicalOutputPluginWriterWrite do_write);
|
||||
LogicalOutputPluginWriterWrite do_write,
|
||||
LogicalOutputPluginWriterUpdateProgress update_progress);
|
||||
extern void DecodingContextFindStartpoint(LogicalDecodingContext *ctx);
|
||||
extern bool DecodingContextReady(LogicalDecodingContext *ctx);
|
||||
extern void FreeDecodingContext(LogicalDecodingContext *ctx);
|
||||
@@ -101,8 +110,6 @@ extern void LogicalIncreaseRestartDecodingForSlot(XLogRecPtr current_lsn,
|
||||
XLogRecPtr restart_lsn);
|
||||
extern void LogicalConfirmReceivedLocation(XLogRecPtr lsn);
|
||||
|
||||
extern void LagTrackerWrite(XLogRecPtr lsn, TimestampTz local_flush_time);
|
||||
|
||||
extern bool filter_by_origin_cb_wrapper(LogicalDecodingContext *ctx, RepOriginId origin_id);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user