Re: auto_explain vs. parallel query
От | Robert Haas |
---|---|
Тема | Re: auto_explain vs. parallel query |
Дата | |
Msg-id | CA+TgmoYPNGjkqKCZyTJoesNDcfkhZ9GiiT0mkTe5X9Oogn1=4Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: auto_explain vs. parallel query (Tomas Vondra <tomas.vondra@2ndquadrant.com>) |
Ответы |
Re: auto_explain vs. parallel query
|
Список | pgsql-hackers |
On Wed, Nov 2, 2016 at 12:49 PM, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote: > On 11/01/2016 08:32 PM, Robert Haas wrote: >> On Tue, Nov 1, 2016 at 10:58 AM, Tomas Vondra >> <tomas.vondra@2ndquadrant.com> wrote: >>> >>> Damn! You're right of course. Who'd guess I need more coffee this early? >>> >>> Attached is a fix replacing the flag with an array of flags, indexed by >>> ParallelMasterBackendId. Hopefully that makes it work with multiple >>> concurrent parallel queries ... still, I'm not sure this is the right >>> solution. >> >> I feel like it isn't. I feel like this ought to go in the DSM for >> that parallel query, not the main shared memory segment, but I'm not >> sure how to accomplish that offhand. Also, if we do solve it this >> way, surely we don't need the locking. The flag's only set before any >> workers have started and never changes thereafter. > > I'm not sure what you mean by "DSM for that parallel query" - I thought the > segments are created for Gather nodes, no? Or is there a DSM for the whole > query that we could use? Sure, the Gather node creates it. There's generally only one per query, though, and that's how most information is communicated from leader to workers. > Another thing is that maybe we don't really want to give extensions access > to any of those segments - my impression was those segments are considered > internal (is there RequestAddinShmemSpace for them?). And hacking something > just for auto_explain seems a big ugly. Yeah. I thought that there wouldn't be any reason for third-party code to need to get into these segments, but maybe that was short-sighted of me. If we fix this without that, then we've got to force pg_stat_statements to be loaded through shared_preload_libarries, as you mentioned, and that doesn't seem nice either. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: