Re: [HACKERS] INSERT INTO ... SELECT eats all my memory

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [HACKERS] INSERT INTO ... SELECT eats all my memory
Дата
Msg-id 199905101618.MAA06642@candle.pha.pa.us
обсуждение исходный текст
Список pgsql-hackers
Do we have a problem here?  Can someone explain it?  Is it the
conversion of the types?


> 
> Hi,
> 
> I have a fairly big table (a tacacs log) of about 250,000 tuples.
> I created a new log table with more rows and with different types (for example
> some fields have changed from int4 to int8 or from varchar to inet).
> 
> I tryied to copy all the data from one table to the other using
> 
> INSERT INTO log SELECT list_of_fields FROM log2;
> 
> list_of_fields is an ordered list of the fields to import from log2 and default
> values to insert into log (mostly nulls).
> 
> If I try to insert all the 250,000 tuples, postgres eats all my memory and
> fails.
> If I try to insert a subset (20,000 tuples), I saw the memory usage grow up to
> 18 MB and it succeded.
> 
> It looks like postgres tryies to put the result of the SELECT in memory before
> starting to INSERT.
> 
> This makes INSERT almost unusable for bulk copying.
> 
> I found another problem... there's apparently no conversion function from
> varchar to inet... how can I do the conversion ?
> 
> Here's the SQL statement:
> 
> insert into log select username, server, pop, remaddr, port, service, NULL,
> privilege, authenmethod, authentype, authenservice, logtime, starttime,
> elapsedtime, bytesin, bytesout, paksin, paksout, callerid, callednumber, NULL,
> NULL, NULL, NULL, NULL, NULL from log2;
> 
> Tryied on 6.4.2 and 6.5beta1 on Linux 2.2.6
> 
> Bye!
> 
> -- 
>  Daniele
> 
> -------------------------------------------------------------------------------
>  Daniele Orlandi - Utility Line Italia - http://www.orlandi.com
>  Via Mezzera 29/A - 20030 - Seveso (MI) - Italy
> -------------------------------------------------------------------------------
> 
> 


--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] CREATE TEMP TABLE
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] create view as select distinct (fwd)