[pgsql-jp: 28036] Re: Polygon型カラムにインデックスが作成できない
Isamu Zakoji
zako @ fal.co.jp
2002年 11月 20日 (水) 12:23:16 JST
座光寺@ファルコンです。
abe-h @ shinetsu-tecsys.co.jp wrote:
>
> データ投入済み状態でインデックスを作成しようとすると、
> ERROR: index_formtuple: data takes 20264 bytes, max is 8191
> となってしまい、インデックス作成後データ投入をすると
> ERROR: copy: line 1, index_formtuple: data takes 20264 bytes, max is 8191
> となってしまいます。
>
indexタプルのサイズは、0x1FFF(8191bytes)に制限されています。
src/include/access/itup.h:71
# indexタプルにもTOASTって適用されるのでしょうか?>>識者の方
それに「poly_ops」って結局は、そのポリゴンの外接矩形でのunionやintersect
しかチェックしてないです。
src/backend/access/rtree/rtproc.c:100〜
なので、ポリゴン同士の正確な重なりはチェックされていないと思います。
自分は、box_opsを使ってポリゴンデータとは別に外接矩形のboxデータを付加す
る形でrtreeを利用していますし、以前インデックス上でポリゴンの正確な重なり
や包含をチェックするデータ型を作ってみたこともありますが、インデックスに
ポリゴンの全構成点を格納する必要があり、上記indexタプルサイズの制約から
小さなポリゴンしか管理できず、挫折したことがあります。
ご参考になれば幸いです。
--
========================================
FALCON Corporation Zakoji Isamu
TEL:052-221-7556 FAX:052-221-7595
zako @ fal.co.jp or zako @ ma.nma.ne.jp
========================================
pgsql-jp メーリングリストの案内