Re: [HACKERS] [Proposal] Allow users to specify multiple tables inVACUUM commands
От | Michael Paquier |
---|---|
Тема | Re: [HACKERS] [Proposal] Allow users to specify multiple tables inVACUUM commands |
Дата | |
Msg-id | CAB7nPqR8nYzy7=eOO3G=u_NGVeGPRaxiROVv2jTw50W6cyBc5w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] [Proposal] Allow users to specify multiple tables inVACUUM commands ("Bossart, Nathan" <bossartn@amazon.com>) |
Ответы |
Re: [HACKERS] [Proposal] Allow users to specify multiple tables inVACUUM commands
Re: [HACKERS] [Proposal] Allow users to specify multiple tables inVACUUM commands Re: [HACKERS] [Proposal] Allow users to specify multiple tables inVACUUM commands |
Список | pgsql-hackers |
On Mon, Sep 4, 2017 at 11:47 PM, Bossart, Nathan <bossartn@amazon.com> wrote: > I've made this change in v14 of the main patch. > > In case others had opinions regarding the de-duplication patch, I've > attached that again as well. + /* + * Create the relation list in a long-lived memory context so that it + * survives transaction boundaries. + */ + old_cxt = MemoryContextSwitchTo(AutovacMemCxt); + rangevar = makeRangeVar(tab->at_nspname, tab->at_relname, -1); + rel = makeVacuumRelation(rangevar, NIL, tab->at_relid); + rel_list = list_make1(rel); + MemoryContextSwitchTo(old_cxt); That's way better, thanks for the new patch. So vacuum_multiple_tables_v14.patch is good for a committer in my opinion. With this patch, if the same relation is specified multiple times, then it gets vacuum'ed that many times. Using the same column multi-times results in an error as on HEAD, but that's not a new problem with this patch. So I would tend to think that the same column specified multiple times should cause an error, and that we could let VACUUM run work N times on a relation if it is specified this much. This feels more natural, at least to me, and it keeps the code simple. -- Michael
В списке pgsql-hackers по дате отправления: