Re: partition text/varchar check problem

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: partition text/varchar check problem
Дата
Msg-id 29283.1166284128@sss.pgh.pa.us
обсуждение исходный текст
Ответ на partition text/varchar check problem  (jamcito <jamcito@poczta.fm>)
Ответы Re: partition text/varchar check problem -- solved  (jamcito <jamcito@poczta.fm>)
Список pgsql-performance
jamcito <jamcito@poczta.fm> writes:
> I am trying to make partitions:

> CREATE TABLE data_a (CHECK (name LIKE varchar 'a%')
> ) INHERITS (data);
> --
> CREATE TABLE data_b (CHECK (name LIKE varchar 'b%')
> ) INHERITS (data);

That's not going to work because the planner is unable to prove anything
about the behavior of LIKE --- there is nothing in the system that
offers a relationship between the = operator and the LIKE operator.
You'll need something like

    CHECK (name >= 'a' AND name < 'b')
    CHECK (name >= 'b' AND name < 'c')

etc.  (These work for a query like "WHERE name = 'foo'" because
the >= < and = operators are all members of the same btree opclass,
so the planner knows how to reason about them.)

            regards, tom lane

В списке pgsql-performance по дате отправления:

Предыдущее
От: jamcito
Дата:
Сообщение: partition text/varchar check problem
Следующее
От: Ron
Дата:
Сообщение: Re: New to PostgreSQL, performance considerations