Re: Partitioning option for COPY
Emmanuel Cecchet <manu@asterdata.com>
From: Emmanuel Cecchet <manu@asterdata.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Emmanuel Cecchet <Emmanuel.Cecchet@asterdata.com>, Jan Urbański <wulczer@wulczer.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2009-11-17T16:19:35Z
Lists: pgsql-hackers
Tom Lane wrote: > Emmanuel Cecchet <manu@asterdata.com> writes: > >> Actually the list is supposed to stay around between statement >> executions. You don't want to restart with a cold cache at every >> statement so I really want this structure to stay in memory at a more >> global level. >> > > Cache? Why do you need a cache for COPY? Repeated bulk loads into the > same table within a single session doesn't seem to me to be a case that > is common enough to justify a cache. > Actually the cache is only activated if you use the partitioning option. It is just a list of oids of child tables where tuples were inserted. It is common to have multiple COPY operations in the same session when you are doing bulk loading in a warehouse. > (BTW, the quoted code seems to be busily reinventing OID Lists. Don't > do that.) > Yes, I understood that I should use an OidList instead. But I was trying to understand what I did wrong here (besides reinventing the oid list ;-)). Why do I get this segfault if I use memory from CacheMemoryContext? Emmanuel -- Emmanuel Cecchet Aster Data Web: http://www.asterdata.com