Asche wrote:
Hi Lee,

Thanks for the suggestion. I should have mentioned in my original message that as per your suggestion and the suggestion in the documentation, I have tried escaping the backslashes. When I do this, I get the error:

 ERROR: invalid input syntax for type bytea

I tried also doing

INSERT INTO myTable VALUES (..., E'\\x15\\x1C\\x2F\\x00\\x02...'::bytea, ...) ;

but get the same errors.

I think i see another problem with your query. You should convert to three-digit octal (something like \\001\\002...) not \\x01 (hex?).

Hi Jan,

Thanks, I think I finally see what's happening here (and understand the docs) - the bytea type has its own string-serialization (escape format) _separate_ from postgresql's normal string literal escaping. So while E'\xC0' is postgresql serialization of a string containing whatever character maps from 0xC0 in the current encoding, that byte cannot directly go into a bytea. Instead, I need to have a doubly-escaped octal (specifically) string so that the first escape generates a string like \000\001\002 which the bytea processor (somewhere) then re-parses as a sequence of bytes.

Would be nice if the bytea parser understood hex representation too, but beggars can't be choosers :)

thanks for the help,
Lee


Jan



--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to