On Fri, Mar 8, 2013 at 12:32 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Craig Ringer <cr...@2ndquadrant.com> writes: > > On 03/08/2013 10:55 AM, Michael Paquier wrote: > >> Also, as it is not mandatory for a unique index to be a constraint, I > >> think that we should block the creation of unique indexes too to avoid > >> any problems. Any suggestions? > > > How much does the planner benefit from the implied constraint of a > > unique index? I almost wonder if it should be allowed at the cost of > > making the refresh of a matview that fails to comply an error. > > A unique constraint can allow join elimination, so I'm thinking that > disallowing them is a bad idea (not to mention that it'd be a > considerable wart in the code to block them for matviews only). > Fair argument. The error message at refresh step should be more explicit though. I still have the feeling that users might be lost if a constraint introduced on matviews is failing during refresh with the current error message. -- Michael