[HACKERS] Enabling parallelism for queries coming from SQL or other PL functions
От
Rafia Sabih
Тема
[HACKERS] Enabling parallelism for queries coming from SQL or other PL functions
Дата
Msg-id
CAOGQiiMfJ+4SQwgG=6CVHWoisiU0+7jtXSuiyXBM3y=A=eJzmg@mail.gmail.com
Список
Дерево обсуждения
[HACKERS] Enabling parallelism for queries coming from SQL or other PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Dilip Kumar <dilipbalaut@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Dilip Kumar <dilipbalaut@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Dilip Kumar <dilipbalaut@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Dilip Kumar <dilipbalaut@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Rafia Sabih <rafia.sabih@enterprisedb.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Dilip Kumar <dilipbalaut@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Amit Kapila <amit.kapila16@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Dilip Kumar <dilipbalaut@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Amit Kapila <amit.kapila16@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Dilip Kumar <dilipbalaut@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Amit Kapila <amit.kapila16@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Amit Kapila <amit.kapila16@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Amit Kapila <amit.kapila16@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Amit Kapila <amit.kapila16@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Dilip Kumar <dilipbalaut@gmail.com>
Re: [HACKERS] Enabling parallelism for queries coming from SQL orother PL functions Amit Kapila <amit.kapila16@gmail.com>
Hello everybody, In the current version, queries in SQL or PL functions can not leverage parallelism. To relax this restriction I prepared a patch, the approach used in the patch is explained next, Approach: 1. Allow parallelism for queries in PL functions by passing CURSOR_OPT_PARALLEL_OK instead of 0 to exec_prepare_plan called from exec_stmt_execsql or exec_stmt_dynexecute. Similarly, pass CURSOR_OPT_PARALLEL_OK instead of 0 to SPI_execute and exec_run_select called from exec_stmt_dynexecute. CURSOR_OPT_PARALLEL_OK is passed to these functions after checking if the statement is not trigger, since in that case using parallelism may not be efficient. 2. In ExecutePlan there is an additional check to see if the query is coming from SQL or PL functions and is having a parallel plan. In that case we ignore the check of numberTuples since it is always one for these functions and existing checks restrict parallelism for these cases. Though, I understand this may not be the most elegant way to do this, and would be pleased to know some better alternative. I have attached a sql file containing cases for some pgpsql, perl, python functions and an .out file which contains the parallel plans for the queries in these functions after this patch. This might be helpful in understanding the level of parallelism this patch is relaxing for PL functions. Thanks to my colleagues Amit Kapila and Dilip Kumar for discussions in this regard. -- Regards, Rafia Sabih EnterpriseDB: http://www.enterprisedb.com/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
В списке pgsql-hackers по дате отправления
От: Ashutosh Bapat
Дата: