You can insert invalid UTF8 bytes sequences into a TEXT type on an 8.1
installation by doing something like:
INSERT INTO foo(t) VALUES('\xFF');
Then, you can do a:
COPY foo TO '/some/file';
but if you try to do a:
COPY foo FROM '/some/file';
That will fail because /some/file contains invalid UTF8 sequences, even
though it's the same file you copied out.
It seems to be essentially a data corruption issue if applications
insert binary data in text fields using escape sequences. Shouldn't
PostgreSQL reject an invalid UTF8 sequence in any text type?
Regards,
Jeff Davis