У меня есть дорогостоящая функция, которую я использую в запросе, который я хотел бы выполнить параллельно, но, похоже, postgres не хочет этого делать.
В основном, просто делаю:
SELECT expensive_func(a, b, c) FROM table;
Разве невозможно получить это, чтобы использовать параллельное последовательное сканирование? Или какая-то конфигурация мешает мне это сделать?
Функция помечена как безопасная параллельная, и максимальное число параллельных рабочих на сбор устанавливается соответствующим образом.
Это Postgres 9.6.3
Объявление функции:
CREATE OR REPLACE FUNCTION expensive_func(args...)
RETURNS result
LANGUAGE plpgsql
STABLE
PARALLEL SAFE
AS $$