postgresql cardinality violation