[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 メーリングリストの案内