jamcito <jamcito@xxxxxxxxx> 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