Josh Berkus <josh@agliodbs.com> writes:
>> tarr[1] does not have a \, because it was eaten by the parser (so \y is
>> the same as a plain y). tarr[2] does have a single backslash, which for
>> output purposes is shown escaped with another backslash when part of an
>> array, but unescaped when not. I'm not sure if this qualifies as a bug
>> or not.
> I think it does.
This is documented behavior for arrays:
http://developer.postgresql.org/docs/postgres/arrays.html#AEN5764
and has been that way for a very long time. If we change it we will
break every array-using application on the planet, because it will
in fact be impossible to parse an array value unambiguously.
I don't think "one user was confused" justifies fooling with this.
regards, tom lane