I see the following behaivor on 7.4.3 and 7.4 stable from about a week ago: bruno=> create table test (); CREATE TABLE bruno=> alter table test add constraint test2 check('\\' = ''); ALTER TABLE bruno=> \d test Table "public.test" Column | Type | Modifiers --------+------+----------- Check constraints: "test2" CHECK ('\\'::text = ''::text)
bruno=> select '\\'; ?column? ---------- \ (1 row) I didn't see \\ left as \\ in at least some 7.3 versions. I think this is a bug, but maybe there are different escape rules for strings in check constraints. In the real case that this derives from I was getting a different number of backslashes than I expected in a regular expression. ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html