CREATE EXTENSION pg_stat_monitor; CREATE DATABASE db1; CREATE DATABASE db2; \c db1 CREATE TABLE t1 (a int); CREATE TABLE t2 (b int); CREATE FUNCTION add(int, int) RETURNS int AS 'SELECT $1 + $2;' LANGUAGE sql IMMUTABLE RETURNS NULL ON NULL INPUT; \c db2 CREATE TABLE t1 (a int); CREATE TABLE t3 (c int); CREATE FUNCTION add(int, int) RETURNS int AS 'SELECT $1 + $2;' LANGUAGE sql IMMUTABLE RETURNS NULL ON NULL INPUT; \c contrib_regression SELECT pg_stat_monitor_reset(); pg_stat_monitor_reset ----------------------- (1 row) \c db1 SELECT * FROM t1; a --- (0 rows) SELECT *, add(1, 2) FROM t1; a | add ---+----- (0 rows) SELECT * /* x */ FROM t2; b --- (0 rows) SELECT * FROM t2; b --- (0 rows) -- Check that spaces and comments do not generate a different pgsm_query_id SELECT * FROM t2 --WHATEVER; ; b --- (0 rows) SELECT * FROM t2 /* ... ... More comments to check for spaces. */ ; b --- (0 rows) \c db2 SELECT * FROM t1; a --- (0 rows) SELECT *, add(1, 2) FROM t1; a | add ---+----- (0 rows) set pg_stat_monitor.pgsm_enable_pgsm_query_id = off; SELECT * FROM t3; c --- (0 rows) set pg_stat_monitor.pgsm_enable_pgsm_query_id = on; SELECT * FROM t3 WHERE c = 20; c --- (0 rows) \c contrib_regression SELECT datname, pgsm_query_id, query, calls FROM pg_stat_monitor ORDER BY pgsm_query_id, query, datname; datname | pgsm_query_id | query | calls --------------------+---------------------+-----------------------------------------------------+------- contrib_regression | 689150021118383254 | SELECT pg_stat_monitor_reset() | 1 db2 | 1648576050146230147 | SELECT * FROM t3 WHERE c = 20 | 1 db1 | 1897482803466821995 | SELECT * /* x */ FROM t2 | 4 db1 | 1988437669671417938 | SELECT * FROM t1 | 1 db2 | 1988437669671417938 | SELECT * FROM t1 | 1 db1 | 5193804135051352284 | SELECT $1 + $2 | 1 db2 | 5193804135051352284 | SELECT $1 + $2 | 1 db2 | 8581192202768104099 | set pg_stat_monitor.pgsm_enable_pgsm_query_id = off | 1 db1 | 8828613017640075704 | SELECT *, add(1, 2) FROM t1 | 1 db2 | 8828613017640075704 | SELECT *, add(1, 2) FROM t1 | 1 db2 | | SELECT * FROM t3 | 1 db2 | | set pg_stat_monitor.pgsm_enable_pgsm_query_id = on | 1 (12 rows) SELECT pg_stat_monitor_reset(); pg_stat_monitor_reset ----------------------- (1 row) \c db1 DROP TABLE t1; DROP TABLE t2; DROP FUNCTION add; \c db2 DROP TABLE t1; DROP TABLE t3; DROP FUNCTION add; \c contrib_regression DROP DATABASE db1; DROP DATABASE db2; DROP EXTENSION pg_stat_monitor;