On 05/04/2016 01:28 AM, Klaus P. wrote:
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.
I am not sure of the status of parallel query in FDW, but for those that are some more information would be helpful:
1) You are using postgres_fdw, correct? 2) What version of the FDW are you using? 3) What version(s) of Postgres are you connecting from/to?
Thanks Klaus Pieper
-- Adrian Klaver adrian.klaver@xxxxxxxxxxx -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general