Re: Memory leak in deferrable index constraints
От | Tom Lane |
---|---|
Тема | Re: Memory leak in deferrable index constraints |
Дата | |
Msg-id | 13724.1264962367@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Memory leak in deferrable index constraints (Dean Rasheed <dean.a.rasheed@googlemail.com>) |
Список | pgsql-hackers |
Dean Rasheed <dean.a.rasheed@googlemail.com> writes: > On 31 January 2010 16:03, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> It seems a bit unlikely that this would be the largest memory leak in >> that area. �Can you show a test case that demonstrates this is worth >> worrying about? > create table foo(a int unique deferrable initially deferred); > insert into foo (select * from generate_series(1, 10000000)); > begin; > update foo set a=a+1; > set constraints all immediate; > commit; Thanks. I had forgotten all the work we put into minimizing the size of the deferred trigger queue. In this example it's only 16 bytes per entry, whereas a 1-element List is going to involve 16 bytes for the header, 8 bytes for the cell, plus two palloc item overheads --- and double all that on a 64-bit machine. So yeah, this is a significant leak. Patch applied. regards, tom lane
В списке pgsql-hackers по дате отправления: