[pgsql-jp: 32871] Re: [Q] 巨大なテキストの登録

Mao Morimoto yneko2 @ yamamaya.com
2004年 4月 24日 (土) 14:26:19 JST


もりもとです。

> とりあえず、psqlにて巨大テキストの登録ができないことが
> わかりました。
>   memo=# update file set body=repeat('a',1024*1024*1000) where fname like
'test.txt';
>   ERROR:  out of memory
>   DETAIL:  Failed on request of size 1048576004.

「できない」のではなくて、単にメモリが足りないだけだと思いますけど・・?
常識的に考えましょう。
このSQLの中の式を展開するのにどのくらいメモリが必要なのか、
さらにそれをPostgreSQL内で処理するためにコピーされたり・・
ざっと考えても、実装メモリで数Gは必要でしょう。Linuxの仮想メモリがどう実装
されているのかわからないですが、仮想メモリできちんと働くかはかなり疑問。
どのくらい足りていないのかは、どれだけのサイズのメモリを確保しようとしてエ
ラーになったか、出ているからわかりますよね。

- Mao Morimoto




pgsql-jp メーリングリストの案内