Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan.
От | Amit Langote |
---|---|
Тема | Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan. |
Дата | |
Msg-id | 57034C24.1000203@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan. (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: postgres_fdw : altering foreign table not
invalidating prepare statement execution plan.
Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan. Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan. |
Список | pgsql-hackers |
On 2016/04/05 0:23, Tom Lane wrote: > Amit Langote <amitlangote09@gmail.com> writes: >> On Mon, Apr 4, 2016 at 11:24 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> A related issue, now that I've seen this example, is that altering >>> FDW-level or server-level options won't cause a replan either. I'm >>> not sure there's any very good fix for that. Surely we don't want >>> to try to identify all tables belonging to the FDW or server and >>> issue relcache invals on all of them. > >> Hm, some kind of PlanInvalItem-based solution could work maybe? > > Hm, so we'd expect that whenever an FDW consulted the options while > making a plan, it'd have to record a plan dependency on them? That > would be a clean fix maybe, but I'm worried that third-party FDWs > would fail to get the word about needing to do this. I would imagine that that level of granularity may be a little too much; I mean tracking dependencies at the level of individual FDW/foreign table/foreign server options. I think it should really be possible to do the entire thing in core instead of requiring this to be made a concern of FDW authors. How about the attached that teaches extract_query_dependencies() to add a foreign table and associated foreign data wrapper and foreign server to invalItems. Also, it adds plan cache callbacks for respective caches. One thing that I observed that may not be all that surprising is that we may need a similar mechanism for postgres_fdw's connection cache, which doesn't drop connections using older server connection info after I alter them. I was trying to test my patch by altering dbaname option of a foreign server but that was silly, ;). Although, I did confirm that the patch works by altering use_remote_estimates server option. I could not really test for FDW options though. Thoughts? Thanks, Amit
Вложения
В списке pgsql-hackers по дате отправления: