Re: Searching GIN-index (FTS) and sort by timestamp-column

From: Evgeniy Shishkin <itparanoia(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Andreas Joseph Krogh <andreas(at)visena(dot)com>, pgsql-performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Searching GIN-index (FTS) and sort by timestamp-column
Date: 2016-03-16 15:07:56
Message-ID: 1C0DB3A7-0933-4931-8585-AEBA88151C4E@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance


> On 16 Mar 2016, at 18:04, Evgeniy Shishkin <itparanoia(at)gmail(dot)com> wrote:
>
>>
>> On 16 Mar 2016, at 17:52, Evgeniy Shishkin <itparanoia(at)gmail(dot)com> wrote:
>>
>>
>>> On 16 Mar 2016, at 16:37, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>
>>> Andreas Joseph Krogh <andreas(at)visena(dot)com> writes:
>>>> 1. Why isnt' folder_id part of the index-cond?
>>>
>>> Because a GIN index is useless for sorting.
>>
>> I don't see how gin inability to return sorted data relates to index condition.
>> In fact i tried to reproduce the example,
>> and if i change folder_id to int from bigint, then index condition with folder_id is used
>>
>> Index Cond: ((fts_all @@ '''hi'''::tsquery) AND (folder_id = 1))
>>
>
> Looks like documentation http://www.postgresql.org/docs/9.5/static/btree-gin.html
> is lying about supporting int8 type
>

Uh, it works if i cast to bigint explicitly
WHERE del.fts_all @@ to_tsquery('simple', 'hi')
AND del.folder_id = 1::bigint;
results in
Index Cond: ((folder_id = '1'::bigint) AND (fts_all @@ '''hi'''::tsquery))

>>
>>>
>>>> 2. Is there a way to make it use the (same) index to sort by
>>>> received_timestamp?
>>>
>>> No.
>>>
>>>> 3. Using a GIN-index, is there a way to use the index at all for sorting?
>>>
>>> No.
>>>
>>>> 4. It doesn't seem like ts_rank uses the index for sorting either.
>>>
>>> Same reason.
>>>
>>> regards, tom lane
>>>
>>>
>>> --
>>> Sent via pgsql-performance mailing list (pgsql-performance(at)postgresql(dot)org)
>>> To make changes to your subscription:
>>> http://www.postgresql.org/mailpref/pgsql-performance

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Andreas Joseph Krogh 2016-03-16 15:08:04 Re: Searching GIN-index (FTS) and sort by timestamp-column
Previous Message Evgeniy Shishkin 2016-03-16 15:04:08 Re: Searching GIN-index (FTS) and sort by timestamp-column