[pgsql-jp: 37736] LIKE句による前方一致検索のエラー(invalid memory alloc request size)
Eisuke.Ooba
e.ooba @ cbo.mss.co.jp
2006年 12月 1日 (金) 13:57:46 JST
三菱スペース・ソフトウエア(株) 大場と申します。
初めてこちらのメーリングリストに投稿させて頂きます。
よろしくお願いいたします。
PostgreSQL 8.1.4 Windows版で、下記のような不具合らしき現象を
発見したのですが、解決方法がみつからず悩んでいます。
本メーリングリストの
[pgsql-jp: 34645] LIKEで前方一致検索をした際にエラーになる現象
waya pgsql-jp @ ml.postgresql.jp
Fri, 14 Jan 2005 17:54:50 +0900
でも同様の不具合と思われる報告がされていますが、原因、解決方法
などに関するレスが付いておりませんでした。
もし、何か情報をお持ちの方いらっしゃいましたら、ご教示頂けると
幸いです。
[現象の内容]
前方一致による検索を実行したいのですが、like句を使ったselect文
の実行で、PostgreSQL内のメモリ確保の失敗が原因と思われるエラー
が発生しています。
以下はDBスーパーユーザでpsqlよりDBに接続して、問題の現象を再現
したときの様子です。
念のため、vacuum full analyzeをかけた後に実行しています。
マシン機種、OS、PostgreSQLのバージョン、設定(postgresql.conf)、
スキーマ、レコード登録内容が全く同じでも、あるマシンでは再現
するが、別のマシンでは再現しないといった状況です。
cocoprico=# vacuum full analyze;
VACUUM
cocoprico=# select id, regist_datetime, reserve_date, name from sample_table where name = '新潟花子';
id | regist_datetime | name
----------+----------------------------+----------
82000249 | 2006-11-22 14:44:10.53+09 | 新潟花子
06000220 | 2006-11-22 14:27:23.622+09 | 新潟花子
(2 rows)
cocoprico=# select id, regist_datetime, name from sample_table where name like '新潟%';
ERROR: invalid memory alloc request size 2147483648
cocoprico=# select count(*) from sample;
count
-------
57
(1 row)
[スキーマ情報]
DBエンコーディング :UTF-8
検索対象テーブル :概ね下記のような構造ですが、テーブル、
カラム名は実際の名前とは変えて記載しております。
create table sample_table(
id text PRIMARY KEY,
reserve_date timestamp with time zone,
regist_datetime timestamp with time zone NOT NULL,
name text,
... (他、text型のカラムがいくつか有り、合計88カラム)
)
登録レコード数 :57
登録データのサイズ :各カラム128バイト以内
[環境]
OS :WindowsXP SP2
Version :PostgreSQL 8.1.4 Windows 日本語版
(postgresql-8.1.4-1-ja)
よろしくお願いいたします。
以上
----------------------------------------
三菱スペース・ソフトウエア(株)
関西事業部 第四技術部 第二課
大場 英輔(Eisuke.Ooba)
e-mail :e.ooba @ cbo.mss.co.jp
Tel : (06) 4961-8854
Fax : (06) 4961-8820
-----------------------------------------
pgsql-jp メーリングリストの案内