Re: [HACKERS] Passing query string to workers
От | Robert Haas |
---|---|
Тема | Re: [HACKERS] Passing query string to workers |
Дата | |
Msg-id | CA+TgmoabRinWRtHqpb6CGht_EWxnacNZW9trWnXN67CHdF+V8w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Passing query string to workers (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [HACKERS] Passing query string to workers
|
Список | pgsql-hackers |
On Wed, Jan 11, 2017 at 7:37 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Rafia Sabih <rafia.sabih@enterprisedb.com> writes: >> Approach: >> A token for query string is created in the shared memory, this token is >> populated with the query string using the global string -- >> debug_query_string. Now, for each of the worker when >> ExecGetParallelQueryDesc is called, we retrieve the query text from shared >> memory and pass it to CreateQueryDesc. > > This is simply wrong, because debug_query_string need have nothing to do > with what the actual parallel query is. I'm all for sending over the > correct query, but if you aren't bothering to accurately reproduce the > master's query descriptor, I think you will increase confusion not > reduce it. > > As far as reproducing the pg_stat_activity query goes, you could probably > grab that string out of the master backend's pgstat entry and pass it over > at parallel query start. But please don't confuse it with either > debug_query_string or the string referenced by the QueryDesc; I do not > think there's any guarantee that those are the same. I think we should pass only the string referenced by the QueryDesc to the worker, and on the worker side report that via debug_query_string and pg_stat_activity and attach it to the QueryDesc itself. Is that also your view? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: