mirror of
https://github.com/postgres/postgres.git
synced 2025-05-28 05:21:27 +03:00
This patch adds 'stats_since' and 'minmax_stats_since' columns to the pg_stat_statements view and pg_stat_statements() function. The new min/max reset mode for the pg_stat_stetments_reset() function is controlled by the parameter minmax_only. 'stat_since' column is populated with the current timestamp when a new statement is added to the pg_stat_statements hashtable. It provides clean information about statistics collection time intervals for each statement. Besides it can be used by sampling solutions to detect situations when a statement was evicted and stored again between samples. Such a sampling solution could derive any pg_stat_statements statistic values for an interval between two samples with the exception of all min/max statistics. To address this issue this patch adds the ability to reset min/max statistics independently of the statement reset using the new minmax_only parameter of the pg_stat_statements_reset(userid oid, dbid oid, queryid bigint, minmax_only boolean) function. The timestamp of such reset is stored in the minmax_stats_since field for each statement. pg_stat_statements_reset() function now returns the timestamp of a reset as the result. Discussion: https://postgr.es/m/flat/72e80e7b160a6eb189df9ef6f068cce3765d37f8.camel%40moonset.ru Author: Andrei Zubkov Reviewed-by: Julien Rouhaud, Hayato Kuroda, Yuki Seino, Chengxi Sun Reviewed-by: Anton Melnikov, Darren Rush, Michael Paquier, Sergei Kornilov Reviewed-by: Alena Rybakina, Andrei Lepikhov
37 lines
1.3 KiB
Makefile
37 lines
1.3 KiB
Makefile
# contrib/pg_stat_statements/Makefile
|
|
|
|
MODULE_big = pg_stat_statements
|
|
OBJS = \
|
|
$(WIN32RES) \
|
|
pg_stat_statements.o
|
|
|
|
EXTENSION = pg_stat_statements
|
|
DATA = pg_stat_statements--1.4.sql \
|
|
pg_stat_statements--1.10--1.11.sql \
|
|
pg_stat_statements--1.9--1.10.sql pg_stat_statements--1.8--1.9.sql \
|
|
pg_stat_statements--1.7--1.8.sql pg_stat_statements--1.6--1.7.sql \
|
|
pg_stat_statements--1.5--1.6.sql pg_stat_statements--1.4--1.5.sql \
|
|
pg_stat_statements--1.3--1.4.sql pg_stat_statements--1.2--1.3.sql \
|
|
pg_stat_statements--1.1--1.2.sql pg_stat_statements--1.0--1.1.sql
|
|
PGFILEDESC = "pg_stat_statements - execution statistics of SQL statements"
|
|
|
|
LDFLAGS_SL += $(filter -lm, $(LIBS))
|
|
|
|
REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/pg_stat_statements/pg_stat_statements.conf
|
|
REGRESS = select dml cursors utility level_tracking planning \
|
|
user_activity wal entry_timestamp cleanup oldextversions
|
|
# Disabled because these tests require "shared_preload_libraries=pg_stat_statements",
|
|
# which typical installcheck users do not have (e.g. buildfarm clients).
|
|
NO_INSTALLCHECK = 1
|
|
|
|
ifdef USE_PGXS
|
|
PG_CONFIG = pg_config
|
|
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
|
include $(PGXS)
|
|
else
|
|
subdir = contrib/pg_stat_statements
|
|
top_builddir = ../..
|
|
include $(top_builddir)/src/Makefile.global
|
|
include $(top_srcdir)/contrib/contrib-global.mk
|
|
endif
|