Re: REFRESH MATERIALIZED VIEW and completion tag output
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-11-06T00:45:07Z
Lists: pgsql-hackers
On 2020/11/06 1:56, Mark Dilger wrote: > > >> On Nov 5, 2020, at 8:20 AM, Fujii Masao <masao.fujii@oss.nttdata.com> wrote: >> >> The patch that makes pg_stat_statements track the number of rows that >> REFRESH MATERIALIZED VIEW command processes was proposed at [1]. >> When reviewing the patch, I just wondered why the completion tag output >> for REFRESH MATERIALIZED VIEW doesn't include the row count. Is this >> an intentional behavior? I've not found the past discussion about this yet. > > Of 191 command tags, only 7 return the number of rows. See src/include/tcop/cmdtaglist.h. REFRESH MATERIALIZED VIEW is similar to CREATE MATERIALIZED VIEW and also CREATE TABLE AS, which also do not return the row count. Yes, so I was wondering if REFRESH MATERIALIZED VIEW also should use CMDTAG_SELECT like CREATE MATERIALIZED VIEW does. > I think this behavior is historical, and preserved for compatibility. Maybe true. The patch that I mentioned upthread tries to change REFRESH MATERIALIZED VIEW so that it register the rowcount into its query completion so that pg_stat_statements can track the number of processed rows. But display_rowcount for CMDTAG_REFRESH_MATERIALIZED_VIEW still should be false in cmdtaglist.h to avoid the change of the completion tag output. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
Commits
-
pg_stat_statements: track number of rows processed by REFRESH MATERIALIZED VIEW.
- b62e6056a05c 14.0 landed