I can't reproduce this --- I get Constraints: ((ptype >= 0) AND (ptype <= 8)) ((((structure = 'L'::bpchar) OR (structure = 'C'::bpchar)) OR (structure = 'U'::bpchar)) OR (structure = 'O'::bpchar)) (((department ISNULL) AND (parent_id ISNULL)) OR ((department > ''::text) AND (parent_id > ''::bpchar))) (((ptype >= 2) AND (ptype <= 4)) OR (ptype = 8)) However, I had to guess about the referenced tables, and possibly I guessed wrong. Could you supply their declarations too? regards, tom lane