How to create index on only some of the rows - Mailing list pgsql-general

From A B
Subject How to create index on only some of the rows
Date
Msg-id AANLkTik2jC2fKzQXSNqkd6manZVp=aOrkfrUiSr1662O@mail.gmail.com
Whole thread Raw
Responses Re: How to create index on only some of the rows  (Vibhor Kumar <vibhor.kumar@enterprisedb.com>)
Re: How to create index on only some of the rows  (Andrew Sullivan <ajs@crankycanuck.ca>)
List pgsql-general
Hello.

How do you create an index for only some of the rows in a table? I
read in the docs:

 "The expression used in the WHERE clause can refer only to columns of
the underlying table, but it can use all columns, not just the ones
being indexed. Presently, subqueries and aggregate expressions are
also forbidden in WHERE. The same restrictions apply to index fields
that are expressions. "

So until this changes, can you just add a boolean field to tell if the
column should be used in the index, and then run  "create index ....
where use_in_index = true"  or are there other (better?) ways of doing
this?

pgsql-general by date:

Previous
From: markw
Date:
Subject: Re: Subquery for column names of tablefunc crosstab queries
Next
From: Andre Lopes
Date:
Subject: Slow Inserts, two different scenarios.