"Trevor Talbot" <quension@xxxxxxxxx> writes: > Erik is questioning is why it has to assume anything. Why can't it > just execute the expression and find out? Because the whole point of the problem is to *not* execute the expression, but to assume that it must yield false, for every row of a given partition. Without a solid logical basis for that assumption, you're just building a house of cards. The bottom line here is that we have built a partitioning facility out of spare parts, ie, a very generalized contradiction-proving section of the planner. It's been an interesting exercise, and it's certainly resulted in a better contradiction-prover than we would have had otherwise, but it's got obvious limitations both in planning performance and in the sorts of partitioning rules we can support. My feeling is that trying to push the current approach to do bin or hash partitioning transparently is likely not reasonable. Eventually we'll have to push an understanding of partitioning down to some lower level of the system --- that is, if we think it's critical enough to justify that much effort. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org/