ERROR: Gin doesn't support full scan due to it's awful inefficiency - Mailing list pgsql-general

From Charlie Savage
Subject ERROR: Gin doesn't support full scan due to it's awful inefficiency
Date
Msg-id 44FDF8DD.9000703@savagexi.com
Whole thread Raw
Responses Re: ERROR: Gin doesn't support full scan due to it's awful
List pgsql-general
I've run across another GIN index issue - using postgresql 8.1.4 on
Window/Linux with the GIN/tsearch2 patch.

I have two tables like this:

CREATE TABLE maps
(
   id serial,
   query tsearch2.tsquery
)


CREATE TABLE features
(
   id serial,
   vector tsearch2.tsvector
)

CREATE INDEX idx_features_tags_vector ON features USING gin (tags_vector);


Where maps.query contains cached tsquery (they are cached for
performance reasons).

When I run this query:

select *
from maps, features
where to_tsquery('test') @@ features.tags_vector

I get this error:

ERROR:  Gin doesn't support full scan due to it's awful inefficiency

Here is explain (from a very small test database):

Nested Loop  (cost=0.00..1878.71 rows=370 width=208)
   ->  Seq Scan on maps  (cost=0.00..14.80 rows=480 width=136)
   ->  Index Scan using idx_features_tags_vector on features
(cost=0.00..3.87 rows=1 width=72)
         Index Cond: ("outer".query @@ features.tags_vector)

I thought that this would solve my problem:

set enable_indexscan to off;

But it does not.

Interestingly, this does work:

select *
from features
where to_tsquery('test') @@ features.tags_vector;

Explain:

Index Scan using idx_features_tags_vector on features  (cost=0.00..3.87
rows=1 width=72)
   Index Cond: ('''test'''::tsquery @@ tags_vector)

At first I thought the issue was that you couldn't use an Index Scan on
gin index, but that now seems like an incorrect conclusion.

So, two things:

1.  How do I work around this issue?
2. Seems like postgresql should be smart enough to pick a query that
will run.

Thanks,

Charlie










pgsql-general by date:

Previous
From: Ron Johnson
Date:
Subject: Re: Syntax for converting double to a timestamp
Next
From: Charlie Savage
Date:
Subject: Re: ERROR: Gin doesn't support full scan due to it's awful