commit 1f55c068ed102fbcf1a2e18cbac4c128b212c583 Author: Stas Kelvich Date: Mon Apr 10 12:30:43 2017 +0300 call pgstat_report_stat in logical worker diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index 3fb57f0..82a2046 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -769,10 +769,11 @@ allow_immediate_pgstat_restart(void) /* ---------- * pgstat_report_stat() - * - * Called from tcop/postgres.c to send the so far collected per-table - * and function usage statistics to the collector. Note that this is - * called only when not within a transaction, so it is fair to use - * transaction stop time as an approximation of current time. + * Must be called by processes that performs DML: tcop/postgres.c, logical + * receiver processes, SPI worker, etc to send the so far collected per-table + * and function usage statistics to the collector. Note that this is called + * only when not within a transaction, so it is fair to use transaction stop + * time as an approximation of current time. * ---------- */ void diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c index 8a984a4..23a1fbb 100644 --- a/src/backend/replication/logical/worker.c +++ b/src/backend/replication/logical/worker.c @@ -462,6 +462,7 @@ apply_handle_commit(StringInfo s) /* Process any tables that are being synchronized in parallel. */ process_syncing_tables(commit_data.end_lsn); + pgstat_report_stat(false); pgstat_report_activity(STATE_IDLE, NULL); }