Re: Effects of GUC settings on automatic replans
От | Josh Berkus |
---|---|
Тема | Re: Effects of GUC settings on automatic replans |
Дата | |
Msg-id | 4600F0FE.6000300@agliodbs.com обсуждение исходный текст |
Ответ на | Effects of GUC settings on automatic replans (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Effects of GUC settings on automatic replans
|
Список | pgsql-hackers |
Tom Lane wrote: > Now that there's a mechanism in the backend that will automatically replan > queries whenever anything changes about the referenced tables, we have to > worry about whether an automatic replan might cause surprising changes in > the behavior of a query. I looked through the available GUC settings to > see what would affect a replan, and came up with just four that would > potentially affect the semantics of the query: > > search_path > add_missing_from > transform_null_equals > sql_inheritance > > As I've already mentioned, I think we must address search_path by saving > the path at time of first plan and using that same path during any replan. Yes. I think this is the only secure way to do it. > However, I'm not excited about adding mechanism to similarly save and > restore the others. They're all for legacy-app compatibility and so > seem unlikely to be changed on-the-fly within a session. Also, > add_missing_from and transform_null_equals aren't going to affect sanely > written queries in the first place. sql_inheritance is a little bit > bigger deal, but I wonder whether we shouldn't just remove that variable > altogether --- it's been default ON since 7.1 and I've not heard anyone > complain about that in a long time. Let's do a quick survey on a couple mailing lists. > > There are a boatload of other GUCs that could potentially result in > changes of planner choices: I think the only thing we need do about the GUCs is provide the user with a command which flushes all plans for the session. Hmmmm, that's not really necessary I suppose; one can easily reconnect. For that matter, can anyone think why we'd need a command for the superuser to flush all plans in the server? It seems like something we ought to have, but I don't have a good case why ... --Josh Berkus
В списке pgsql-hackers по дате отправления: