mirror of
https://github.com/postgres/postgres.git
synced 2025-04-20 00:42:27 +03:00
The view pg_stat_statements gains two columns: - parallel_workers_to_launch, the number of parallel workers planned to be launched. - parallel_workers_launched, the number of parallel workers actually launched. The ratio of both columns offers hints that parallel workers are lacking on a per-statement basis, requiring some tuning, in coordination with "calls", the number of times a query is executed. As of now, these numbers are tracked within Gather and GatherMerge nodes. They could be extended to utilities that make use of parallel workers (parallel btree and brin, VACUUM). The module is bumped to 1.12. Author: Guillaume Lelarge Discussion: https://postgr.es/m/CAECtzeWtTGOK0UgKXdDGpfTVSa5bd_VbUt6K6xn8P7X+_dZqKw@mail.gmail.com
27 lines
642 B
SQL
27 lines
642 B
SQL
--
|
|
-- Tests for parallel statistics
|
|
--
|
|
|
|
SET pg_stat_statements.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 pgss_parallel_tab (a int);
|
|
|
|
SELECT pg_stat_statements_reset() IS NOT NULL AS t;
|
|
|
|
SELECT count(*) FROM pgss_parallel_tab;
|
|
|
|
SELECT query,
|
|
parallel_workers_to_launch > 0 AS has_workers_to_launch,
|
|
parallel_workers_launched > 0 AS has_workers_launched
|
|
FROM pg_stat_statements
|
|
WHERE query ~ 'SELECT count'
|
|
ORDER BY query COLLATE "C";
|
|
|
|
DROP TABLE pgss_parallel_tab;
|