Re: Partitioning option for COPY
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Emmanuel Cecchet <manu@asterdata.com>
Cc: Jan Urbański <wulczer@wulczer.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2009-11-17T15:03:39Z
Lists: pgsql-hackers
Emmanuel Cecchet <manu@asterdata.com> writes: > Tom Lane wrote: >> This looks like the patch is trying to create a data structure in a >> memory context that's not sufficiently long-lived for the use of the >> structure. If you do this in a non-cassert build, it will seem to >> work, some of the time, if the memory in question happens to not >> get reallocated to something else. >> > I was using the CacheMemoryContext. Could someone tell me why this is > wrong and what should have been the appropriate context to use? Well, (a) I doubt you really were creating the list in CacheMemoryContext, else it'd have not gotten clobbered; (b) creating statement-local data structures in CacheMemoryContext is entirely unacceptable anyway, because then they represent a permanent memory leak. The right context for statement-lifetime data structures is generally the CurrentMemoryContext the statement code is called with. regards, tom lane