aboutsummaryrefslogtreecommitdiff
path: root/contrib/pg_stat_statements/pg_stat_statements.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/pg_stat_statements/pg_stat_statements.c')
-rw-r--r--contrib/pg_stat_statements/pg_stat_statements.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c
index 14cad19afbc..6b91c62c31a 100644
--- a/contrib/pg_stat_statements/pg_stat_statements.c
+++ b/contrib/pg_stat_statements/pg_stat_statements.c
@@ -1170,7 +1170,15 @@ pgss_ProcessUtility(PlannedStmt *pstmt, const char *queryString,
INSTR_TIME_SET_CURRENT(duration);
INSTR_TIME_SUBTRACT(duration, start);
- rows = (qc && qc->commandTag == CMDTAG_COPY) ? qc->nprocessed : 0;
+ /*
+ * Track the total number of rows retrieved or affected by
+ * the utility statements of COPY, FETCH, CREATE TABLE AS,
+ * CREATE MATERIALIZED VIEW and SELECT INTO.
+ */
+ rows = (qc && (qc->commandTag == CMDTAG_COPY ||
+ qc->commandTag == CMDTAG_FETCH ||
+ qc->commandTag == CMDTAG_SELECT)) ?
+ qc->nprocessed : 0;
/* calc differences of buffer counters. */
memset(&bufusage, 0, sizeof(BufferUsage));