Я пробовал один и тот же запрос
select column_1, count(1)
from table
group by 1
order by 1 desc
с несколькими интерфейсными инструментами и получал совершенно разные результаты (я запускал запрос несколько раз, чтобы избежать аномалий или проблем с обналичиванием). Я всегда думал, чтоэто зависит от сервера, а не от клиентского инструмента.
PostgreSQL 11.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
max_parallel_workers = 8
max_parallel_workers_per_gather = 4
Сначала запрос pgAdmin3 LTS 1.23
выполнялся параллельно с 4 потоками и завершался в течение 12 с
* 1012.*
Второй с DbVisualizer 10.0.21 Запрос выполнялся только в одном потоке и завершался в течение 70 с
(и да, я проверил его с помощью команды show, и параллельные настройки были такими, как указановыше)
Третий мой коллега с запросом Navicat
выполнялся параллельно с 4 потоками и завершался в течение 30 с
Итак, кто принимает решение о том, как выполняется запрособработанный сервер или клиент?
РЕДАКТИРОВАТЬ:
Проблема, кажется, с DbVisualizer, странно, если я просто запускаю запрос, он не распараллеливается, но когда используется опция объяснения анализаэто доуs, я проверял это на сервере, чтобы быть уверенным, а именно: снимок экрана
А вот анализ объяснения из pgAdmin
https://explain.depesz.com/s/tP8Pi
Это план выполнения от DbVisualizer:
https://explain.depesz.com/s/RSWw