2

pgsql 9.1 で BOX タイプの列を含むテーブルから選択するのに問題があります。

create table test (t box);
CREATE TABLE
select * from test order by t;
ERROR:  could not identify an ordering operator for type box
LINE 1: select * from test order by t;
                                     ^
TIP:  Use an explicit ordering operator or modify the query.

列の明示的なインデックスを作成しようとしても、順序付けと等価性を処理する必要がある演算子のクラス (box_ops) があることがわかりました。

create index testx on test using gist (t box_ops);
CREATE INDEX

しかし、問題はまだ残っています。私は何が欠けていますか?ありがとう!

4

1 に答える 1

1

演算子を明示的に指定する必要があります。例えば:

SELECT * FROM test ORDER BY t USING &<

実際に必要な順序を決定し、対応する比較演算子を選択する必要があります。

で定義されている演算子は、 http://www.leadum.com/downloads/dbscribe/samples/postgresql/web_modern/opclass/main/1325676015.htmlbox_opsで入手できます。

参照:http ://www.postgresql.org/docs/current/interactive/functions-geometry.html

于 2013-02-04T17:30:03.020 に答える