Re: is parallel union all possible over dblink?
От | Marinos Yannikos |
---|---|
Тема | Re: is parallel union all possible over dblink? |
Дата | |
Msg-id | op.vxuoogblkhmbxg@klump-pc.ghoffice обсуждение исходный текст |
Ответ на | is parallel union all possible over dblink? (Svetlin Manavski <svetlin.manavski@gmail.com>) |
Ответы |
Re: is parallel union all possible over dblink?
|
Список | pgsql-performance |
On Wed, 29 Jun 2011 13:55:58 +0200, Svetlin Manavski <svetlin.manavski@gmail.com> wrote: > Question: Is there a way to get the same result from within a PL/pgSQL > function but running all the sub-queries in parallel? In case it is not > directly available, which one would be the simplest way to implement it > in > my application? (I am very keen to avoid the obvious solution of an > additional multi-threaded layer which would do it out of the RDBMS) Have you tried dblink_send_query() + dblink_get_results() yet? http://www.postgresql.org/docs/current/static/contrib-dblink-send-query.html You'd have to do something like this to your queries [untested]: select dblink_send_query('remote1','select * from appqosfe.F_total_utilization(1306918800000000000::INT8, NULL, 60000000000::INT8, NULL)'); (select * from appqosfe.F_total_utilization(1306918800000000000::INT8, NULL, 60000000000::INT8, NULL)) UNION ALL (SELECT * from dblink_get_result('remote1') as T1(detectroid numeric, timegroup numeric, numbytes numeric, numpackets numeric)) order by timegroup asc; i.e. start your remote query/-ies asynchronously, then collect the results in the UNION query. At least in theory it should work... Regards, Marinos
В списке pgsql-performance по дате отправления: