[pgsql-jp: 40800] Re: tuple offset out of range エラー

TAKATSUKA Haruka harukat @ postgresql.jp
2011年 5月 26日 (木) 11:33:58 JST


JPUG / SRA OSS, Inc. の高塚と申します。

> tuple offset out of range:4101 と言うエラーなんですが、
ビットマップインデックススキャンのときに出るエラーですね。

> Vacucm FULL ANALYZE も実行してみましたが、変わりありません。
どちらかというと REINDEX DATABASE を試すほうが良いです。

> 現在は、この組み合わせのときだけ実行しないという、対処療法で
対処療法としては
  enable_bitmapscan = off
も考えられます。

インデックス破損が原因ならマイナーバージョンアップを検討するのが
よさそうです。いくつか問題があったと思います。

ご参考になれば。

On Thu, 26 May 2011 10:57:02 +0900
貴志順司 <jkishi @ mediajob.jp> wrote:

> 貴志といいます。お教えください。
> 
> tuple offset out of range:4101 と言うエラーなんですが、
> "tuple offset out of range"でググっても、日本語での結果が
> 見つかりません。英語では少し見つかりましたが、翻訳して読ん
> でも意味がわかりませんでした。
> 
> バージョンは、
> PostgreSQL 8.1.8 on i686-redhat-linux-gnu, compiled by GCC
>  gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-51)
> 
> psqlで、以下のSQL文を発行すると上記のエラーになります。
> 
> select * from uriage_shousai_tb s
> inner join uriage_denpyou_tb u on s.uriage_denpyou_id = u.myid
> where u.tantou_id = 25 AND u.tokuisaki_id = 4;
> 
> 対象のデータは10件存在します。
> 奇妙なのは、u.tantou_id = 25 AND u.tokuisaki_id = 4
> のときだけと言うことです。25と4の組み合わせ以外は正常に
> 終了します。対象データがあっても無くても。
> 
> Vacucm FULL ANALYZE も実行してみましたが、変わりありません。
> 
> 
> また、ちょっとバージョンが違いますが、上記データベースのダンプ
> をリストアしたものでは、エラーになりませんでした。
> PostgreSQL 8.1.10 on i686-pc-linux-gnu, compiled by GCC
>  gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13)
> 
> 
> 何故、この組み合わせだけ!なんでしょうか・・・
> 不思議ですね。
> よろしくお願いします。
> ただし、ネットにつながっていない遠方にあるサーバーなので、
> アドバイスいただいてもすぐに試すことができません。
> ご了承ください。
> 現在は、この組み合わせのときだけ実行しないという、対処療法で
> 凌いでいます。
> 

______________________________________________________________________
 日本PostgreSQLユーザ会  事務局 (担当 高塚)  http://www.postgresql.jp 
 〒171-0022 東京都豊島区南池袋2-32-8 8F  SRA OSS 内
 TEL: 03-5979-2729  FAX: 03-5979-2702



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