Re: How to run in parallel in Postgres
От | Laurenz Albe |
---|---|
Тема | Re: How to run in parallel in Postgres |
Дата | |
Msg-id | 65371f0819be9dc954fdece32e9df30d1c5aa39e.camel@cybertec.at обсуждение исходный текст |
Ответ на | How to run in parallel in Postgres (Lars Aksel Opsahl <Lars.Opsahl@nibio.no>) |
Ответы |
Re: How to run in parallel in Postgres
Re: How to run in parallel in Postgres, EXECUTE_PARALLEL |
Список | pgsql-performance |
On Thu, 2019-12-05 at 12:10 +0000, Lars Aksel Opsahl wrote: > have a function that prepares data, so the big job can be run it in parallel. > > Today I have solved this by using "Gnu parallel" like this. > psql testdb -c"\! psql -t -q -o /tmp/run_cmd.sql testdb -c\"SELECT find_overlap_gap_make_run_cmd('sl_lop.overlap_gap_input_t1','geom',4258,'sl_lop.overlap_gap_input_t1_res',50);\"; parallel-j 4 > psql testdb -c :::: /tmp/run_cmd.sql" 2>> /tmp/analyze.log; > > The problem here is that I depend on external code which may not be installed. > > Since Postgres now supports parallel I was wondering if it's easy to trigger parallel dynamically created SQL calls. > > If you look at https://github.com/larsop/find-overlap-and-gap/blob/master/src/test/sql/regress/find_overlap_and_gap.sql you see that > find_overlap_gap_make_run_cmd generates as set of 28 sql calls. > > So is it in a simple way possible to use Postgres parallel functionality to call this 28 functions i parallel so I don'thave dependent on externally install programs ? > > When this 28 sql calls are done, the find_overlap_gap_make_run_cmd may continue to the next step of work. So the functionthat triggers parallel calls wait for them complete and then may start on > the next step of work. You cannot run several queries in parallel in a PostgreSQL function. You may want to have a look at PL/Proxy which might be used for things like that. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com
В списке pgsql-performance по дате отправления: