Dne 09.10.2012 11:48, Craig Ringer napsal:
> On 10/06/2012 08:45 AM, Liam Caffrey wrote:
>> Hi,
>>
>> If I run a CTE does that materialize the resulting data in the same
>> (or
>> a similar) way as if I created a temp table and referred to that
>> instead? Or does the CTE keep the set in memory?
>
> Really good question, I too would be interested in this.
>
> I'd expect it'd materialize to RAM if the result is within `work_mem`
> but I'd love to know for sure.
Yes - it's using a tuplestore, and that's the default behavior. It
stores the
tuples in RAM until it reaches work_mem and then starts spilling the
data
to disk. It's entirely transparent behavior.
Tomas