Hi, When I read the documents and source code of wait evens, I found that the following wait events are never reported.
* LogicalChangesRead: Waiting for a read from a logical changes file. * LogicalChangesWrite: Waiting for a write to a logical changes file. * LogicalSubxactRead: Waiting for a read from a logical subxact file. * LogicalSubxactWrite: Waiting for a write to a logical subxact file. The wait events are introduced in the following patch. Add support for streaming to built-in logical replication. Amit Kapila on 2020/9/3 11:24:07 464824323e57dc4b397e8b05854d779908b55304 I read the above discussion and found the wait events were reported at first. But they seemed to be removed because they are not necessary because BufFileWrite/BufFileRead are enough([1]). If my understanding is right, it's better to remove them since they make users confused. Please see the attached patch. I confirmed that to make check-world passes all tests. [1] https://www.postgresql.org/message-id/CAA4eK1JV37jXUT5LeWzkBDNNnSntwQbLUZAj6m82QMiR1ZuuHQ%40mail.gmail.com Regards, -- Masahiro Ikeda NTT DATA CORPORATION
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 7355835202..3173ec2566 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -1549,22 +1549,6 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser <entry><literal>WALWrite</literal></entry> <entry>Waiting for a write to a WAL file.</entry> </row> - <row> - <entry><literal>LogicalChangesRead</literal></entry> - <entry>Waiting for a read from a logical changes file.</entry> - </row> - <row> - <entry><literal>LogicalChangesWrite</literal></entry> - <entry>Waiting for a write to a logical changes file.</entry> - </row> - <row> - <entry><literal>LogicalSubxactRead</literal></entry> - <entry>Waiting for a read from a logical subxact file.</entry> - </row> - <row> - <entry><literal>LogicalSubxactWrite</literal></entry> - <entry>Waiting for a write to a logical subxact file.</entry> - </row> </tbody> </tgroup> </table> diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c index ef7e6bfb77..4a5b7502f5 100644 --- a/src/backend/utils/activity/wait_event.c +++ b/src/backend/utils/activity/wait_event.c @@ -717,18 +717,6 @@ pgstat_get_wait_io(WaitEventIO w) case WAIT_EVENT_WAL_WRITE: event_name = "WALWrite"; break; - case WAIT_EVENT_LOGICAL_CHANGES_READ: - event_name = "LogicalChangesRead"; - break; - case WAIT_EVENT_LOGICAL_CHANGES_WRITE: - event_name = "LogicalChangesWrite"; - break; - case WAIT_EVENT_LOGICAL_SUBXACT_READ: - event_name = "LogicalSubxactRead"; - break; - case WAIT_EVENT_LOGICAL_SUBXACT_WRITE: - event_name = "LogicalSubxactWrite"; - break; /* no default case, so that compiler will warn */ } diff --git a/src/include/utils/wait_event.h b/src/include/utils/wait_event.h index 6007827b44..c22142365f 100644 --- a/src/include/utils/wait_event.h +++ b/src/include/utils/wait_event.h @@ -221,11 +221,7 @@ typedef enum WAIT_EVENT_WAL_READ, WAIT_EVENT_WAL_SYNC, WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN, - WAIT_EVENT_WAL_WRITE, - WAIT_EVENT_LOGICAL_CHANGES_READ, - WAIT_EVENT_LOGICAL_CHANGES_WRITE, - WAIT_EVENT_LOGICAL_SUBXACT_READ, - WAIT_EVENT_LOGICAL_SUBXACT_WRITE + WAIT_EVENT_WAL_WRITE } WaitEventIO;