Re: Vacuum: allow usage of more than 1GB of work mem
От | Simon Riggs |
---|---|
Тема | Re: Vacuum: allow usage of more than 1GB of work mem |
Дата | |
Msg-id | CANP8+jKC5UfgO9a7ot2f6GjA09FBFiRVDCSm75LXFtBu1G4erw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Vacuum: allow usage of more than 1GB of work mem (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Vacuum: allow usage of more than 1GB of work mem
Re: Vacuum: allow usage of more than 1GB of work mem |
Список | pgsql-hackers |
On 6 September 2016 at 19:00, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> Yeah, but I've seen actual breakage from exactly this issue on >> customer systems even with the 1GB limit, and when we start allowing >> 100GB it's going to get a whole lot worse. > > While it's not necessarily a bad idea to consider these things, > I think people are greatly overestimating the consequences of the > patch-as-proposed. AFAICS, it does *not* let you tell VACUUM to > eat 100GB of workspace. Note the line right in front of the one > being changed: > > maxtuples = (vac_work_mem * 1024L) / sizeof(ItemPointerData); > maxtuples = Min(maxtuples, INT_MAX); > - maxtuples = Min(maxtuples, MaxAllocSize / sizeof(ItemPointerData)); > + maxtuples = Min(maxtuples, MaxAllocHugeSize / sizeof(ItemPointerData)); > > Regardless of what vac_work_mem is, we aren't gonna let you have more > than INT_MAX ItemPointers, hence 12GB at the most. So the worst-case > increase from the patch as given is 12X. Maybe that's enough to cause > bad consequences on some systems, but it's not the sort of disaster > Robert posits above. Is there a reason we can't use repalloc here? -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: