Parallel Foreign Scans - need advice

Поиск
Список
Период
Сортировка
От Korry Douglas
Тема Parallel Foreign Scans - need advice
Дата
Msg-id 6ED3BCAA-C4A8-44E4-86EC-6309E41C6352@me.com
обсуждение исходный текст
Ответы Re: Parallel Foreign Scans - need advice  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Hi all, I’m working on an FDW that would benefit greatly from parallel foreign scan.  I have implemented the callbacks
describedhere:https://www.postgresql.org/docs/devel/fdw-callbacks.html#FDW-CALLBACKS-PARALLEL. and I see a big
improvementin certain plans. 

My problem is that I can’t seem to get a parallel foreign scan in a query that does not contain an aggregate.

For example:
   SELECT count(*) FROM foreign table;
Gives me a parallel scan, but
   SELECT * FROM foreign table;
Does not.

I’ve been fiddling with the costing GUCs, foreign scan row estimates, and foreign scan cost estimates - I can force the
costof a partial path to be much lower than a sequential foreign scan, but no luck. 

Any troubleshooting advice?

A second related question - how can I find the actual number of workers chose for my ForeignScan?  At the moment, I
lookingat ParallelContext->nworkers (inside of the InitializeDSMForeignScan() callback) because that seems to be the
firstcallback function that might provide the worker count.  I need the *actual* worker count in order to evenly
distributemy workload.  I can’t use the usual trick of having each worker grab the next available chunk (because I have
toavoid seek operations on compressed data). In other words, it is of great advantage for each worker to read
contiguouschunks of data - seeking to another part of the file is prohibitively expensive. 

Thanks for all help.

            — Korry




В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Daniel Verite"
Дата:
Сообщение: RE: psql - add SHOW_ALL_RESULTS option
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: New EXPLAIN option: ALL