From: | "Klaus P(dot)" <kpi6288(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Do parallel queries work with only dblink not with fdw? |
Date: | 2016-05-04 08:28:04 |
Message-ID: | CAGZW8jUP61bf2bEdmgL827vq=Nt93MFE4YQqjHM=CCyKF95=Xg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
In order to improve cpu and disk utilization, I am testing parallel
queries.
The approach with dblink_send_query() and dblink_get_result() works in my
proof-of-concept. Runtime of my reference query was reduced from 55 seconds
to ~20seconds using 4 parallel connections. Not what I had hoped but
certainly a significant improvement.
My approach is fairly easy:
db_link_send_query('conn1', 'statement based on partitioning field');
db_link_send_query('conn2', 'statement based on partitioning field');
...
SELECT
dblink_get_result('conn1')
UNION ALL
dblink_get_result('conn2')
...
However, using fdw foreign data wrappers, I was not able to run any query
in parallel. I came across this presentation
http://de.slideshare.net/EnterpriseDB/foreign-data-wrappers-and-you-with-postgres
where it says on page 12 "parallel FDW access". Is there any example
available on how to run FDW queries in parallel?
My approach with FDW is similar to the dblink example above:
SELECT * FROM myFdwTable WHERE (clause based on partitioning field)
UNION ALL
SELECT * FROM myFdwTable WHERE (clause based on partitioning field)
...
My experience is however that the statements are carried out sequentially.
Thanks
Klaus Pieper
From | Date | Subject | |
---|---|---|---|
Next Message | Jan Keirse | 2016-05-04 08:37:51 | Re: Vacuum full of parent without partitions possible? |
Previous Message | Chris Travers | 2016-05-04 07:28:39 | Re: Thoughts on "Love Your Database" |