Re: Curious run-away index build on upgrade to 8.1.3
От | Tom Lane |
---|---|
Тема | Re: Curious run-away index build on upgrade to 8.1.3 |
Дата | |
Msg-id | 19992.1142541663@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Curious run-away index build on upgrade to 8.1.3 (Jerry Sievers <jerry@jerrysievers.com>) |
Список | pgsql-admin |
Jerry Sievers <jerry@jerrysievers.com> writes: > Tom Lane <tgl@sss.pgh.pa.us> writes: >> What I still don't understand though is why you see it >> in 8.1 and not 8.0 ... the src/port/qsort.c code didn't change at all >> between those versions. Maybe 8.0 isn't taking the qsort code path, >> perhaps because it uses a shade more memory or some such. Could you >> try increasing maintenance_work_mem even more, like to 100M, >> and see if 8.0 gets slow? > I did as you suggest here; taking the MWM setting incrementally up to > nearly a Gig in 100M increments, also raised and lowered the work_mem > setting too. > Tried a dozen or more combos and in every case, the index built > quickly on 8.0.3. On further analysis, it seems the problem is dependent on the exact ordering of the inputs to the qsort function. So not only do you need maintenance_work_mem to be large enough that the code will try to use qsort, but the physical order of the rows in the table matters. I suspect that you are testing on an 8.0 table with a different physical row order --- if you drop the table and reload it from the same dump you loaded into 8.1, does it get slow? regards, tom lane
В списке pgsql-admin по дате отправления: