PG-1907 Add columns to track parallel worker activity

These are the same counters as were intorduced in pg_stat_statements in
commit cf54a2c.
This commit is contained in:
Artem Gavrilov
2025-09-18 19:04:42 +02:00
committed by Artem Gavrilov
parent 9496937c9f
commit bd0546b7c9
10 changed files with 157 additions and 7 deletions

View File

@@ -0,0 +1,6 @@
--
-- Tests for parallel statistics
--
SELECT setting::integer < 180000 AS skip_test FROM pg_settings where name = 'server_version_num' \gset
\if :skip_test
\quit

View File

@@ -0,0 +1,39 @@
--
-- Tests for parallel statistics
--
SELECT setting::integer < 180000 AS skip_test FROM pg_settings where name = 'server_version_num' \gset
\if :skip_test
\quit
\endif
CREATE EXTENSION pg_stat_monitor;
SET pgsm.track_utility = FALSE;
-- encourage use of parallel plans
SET parallel_setup_cost = 0;
SET parallel_tuple_cost = 0;
SET min_parallel_table_scan_size = 0;
SET max_parallel_workers_per_gather = 2;
CREATE TABLE pgsm_parallel_tab (a int);
SELECT pg_stat_monitor_reset() IS NOT NULL AS t;
t
---
t
(1 row)
SELECT count(*) FROM pgsm_parallel_tab;
count
-------
0
(1 row)
SELECT query,
parallel_workers_to_launch > 0 AS has_workers_to_launch,
parallel_workers_launched > 0 AS has_workers_launched
FROM pg_stat_monitor
WHERE query ~ 'SELECT count'
ORDER BY query COLLATE "C";
query | has_workers_to_launch | has_workers_launched
----------------------------------------+-----------------------+----------------------
SELECT count(*) FROM pgsm_parallel_tab | t | t
(1 row)
DROP TABLE pgsm_parallel_tab;