Re: pattern matching indexing

Поиск
Список
Период
Сортировка
Искать
От
Peter Eisentraut
Тема
Re: pattern matching indexing
Дата
Msg-id
1356615259.13340.4.camel@vanquo.pezone.net
Ответ на
Список
Дерево обсуждения
pattern matching indexing Peter Eisentraut <peter_e@gmx.net>
Re: pattern matching indexing Tom Lane <tgl@sss.pgh.pa.us>
Re: pattern matching indexing Peter Eisentraut <peter_e@gmx.net>
Re: pattern matching indexing Tom Lane <tgl@sss.pgh.pa.us>
On Mon, 2012-12-24 at 10:12 -0500, Tom Lane wrote:
> Peter Eisentraut  writes:
> > To index pattern matching, you can use the _pattern_ops operator
> > classes, or you can set the column collation in the index to "C".  The
> > latter option doesn't appear to be documented (unless you read very deep
> > between the lines).  Is that intentional?
> 
> It is stated at
> http://www.postgresql.org/docs/devel/static/indexes-opclass.html
> that you don't need the special pattern opclasses in C locale.
> Feel free to rephrase or document elsewhere if you find that too
> obscure.

What it doesn't make very clear is that you can also override the locale
in the index definition itself.  So instead of the recommended

CREATE INDEX test_index ON test_table (col varchar_pattern_ops);

you can write nearly equivalently

CREATE INDEX test_index ON test_table (col COLLATE "C");

I'm also wondering whether the latter wouldn't be a preferable
recommendation going forward.  I suppose it's also a matter of taste,
but such an index can also be used for other things (e.g. ORDER BY col
COLLATE "C"), and it uses less obscure and magic functionality.


В списке pgsql-docs по дате отправления
От: Fujii Masao
Дата:
Сообщение: Re: pg_resetxlog -l
От: Tom Lane
Дата:
Сообщение: Re: pattern matching indexing
FAQ