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
|
Список | 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 по дате отправления: