[pgsql-jp: 38184] Re: ロケールCでインストールしないとLIKEで invalid memory alloc request

Hiroki Kataoka kataoka @ interwiz.jp
2007年 3月 21日 (水) 02:56:33 JST


片岡です。

Reinin Oyama wrote:
> ロケールCが、必須です?
> と、誰が決めたのでしょうか?

 ここはノーコメントといたします(別に誰かが決めたわけではないので)。
 お好きなロケールをお使いください。

> ただ、たまたまロケールCで、動くというならば、
> 潜在的にメモリーリークなどが、存在するので、
> PostgreSQL のソースを見直して、調べてみようと思います。
> 原因が分からないと、安心して使えませんから。

 この部分は、純粋に応援いたします。何らかの問題があることは間違いないの
で、原因を突き止められればすばらしいと思います。

> invalid memory alloc request size 214748364

 エラーメッセージからすればメモリリークではありませんね。ロジックの問題
でしょう。何らかの理由で2ギガバイトのメモリを要求されたので、それは大き
すぎるということでエラーになっています(PostgreSQL内部で使われている
MemoryContextAllocなどのメモリ取得関数で許されているメモリの最大サイズは
1ギガバイトです)。

 上記メッセージを出している箇所(8.1、8.2ともに4箇所)にブレークポイン
トを設定してバックトレースしてみれば、意外と早く原因が見つかるかもしれま
せん。

-- 
Hiroki Kataoka <kataoka @ interwiz.jp>



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