Search Postgresql Archives

Re: How to create index on only some of the rows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2011-02-07, A B <gentosaker@xxxxxxxxx> wrote:
> 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?

the manual section quoted above is not exactly correct,
you are also allowed constants, immutable functions and operators.

 create index foo_bigbar on foo(bar) where quux > 8.6;
 create index foo_bar_nofred on foo(bar) where fred is null;

etc...

 



-- 
ââ 100% natural

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux