Discussion:
GiST index question
Eric Fleming
2014-09-03 23:35:50 UTC
Permalink
I have a table that I have defined as:


CREATE TABLE test (
"id" SERIAL PRIMARY KEY,
"first_path" path NOT NULL,
"second_path" path NOT NULL
);


I am attempting to create a GiST index on the two “path” columns using:


CREATE INDEX  "idx_test_first_path" ON test USING gist(first_path);
CREATE INDEX  "idx_test_second_path" ON test USING gist(second_path);


I am getting this error:


Error : ERROR:  data type path has no default operator class for access method "gist"


Is it that I am not allowed to create an index on the path data type or do I need to enable an extension for this to work? Thanks in advance for your help.
—
Eric Fleming
Michael Paquier
2014-09-04 04:31:04 UTC
Permalink
Post by Eric Fleming
CREATE TABLE test (
"id" SERIAL PRIMARY KEY,
"first_path" path NOT NULL,
"second_path" path NOT NULL
);
CREATE INDEX "idx_test_first_path" ON test USING gist(first_path);
CREATE INDEX "idx_test_second_path" ON test USING gist(second_path);
Error : ERROR: data type path has no default operator class for access
method "gist"
Is it that I am not allowed to create an index on the path data type or do I
need to enable an extension for this to work? Thanks in advance for your
help.
In-core contrib modules (and core) do not have yet support for gist
operator classes for the datatype path as far as I recall.
Regards,
--
Michael
--
Sent via pgsql-general mailing list (pgsql-***@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Eric Fleming
2014-09-04 15:17:40 UTC
Permalink
Thank you both, I will look into alternative data types. I don’t think ltree will work for my purposes but I am going to try out some others that might; like cube.
—
Eric Fleming

On Thu, Sep 4, 2014 at 3:42 AM, Giuseppe Broccolo
Hi Eric,
As Michael said, path data type does not support for gist operators.
Anyway, you could redefine data type using 'ltree' instead of 'path'. Take
http://www.postgresql.org/docs/9.1/static/ltree.html
Try to understand if this could be fine for you.
Cheers,
Giuseppe.
Post by Michael Paquier
Post by Eric Fleming
CREATE TABLE test (
"id" SERIAL PRIMARY KEY,
"first_path" path NOT NULL,
"second_path" path NOT NULL
);
CREATE INDEX "idx_test_first_path" ON test USING gist(first_path);
CREATE INDEX "idx_test_second_path" ON test USING gist(second_path);
Error : ERROR: data type path has no default operator class for access
method "gist"
Is it that I am not allowed to create an index on the path data type or
do I
Post by Eric Fleming
need to enable an extension for this to work? Thanks in advance for your
help.
In-core contrib modules (and core) do not have yet support for gist
operator classes for the datatype path as far as I recall.
Regards,
--
Michael
--
http://www.postgresql.org/mailpref/pgsql-general
--
Giuseppe Broccolo - 2ndQuadrant Italy
PostgreSQL Training, Services and Support
Loading...