Wenn ich die oben bereits verlinkte
Dokumentation richtig verstehe, gibt zwei Blob-Typen:
The bytea type supports two external formats for input and output: PostgreSQL's historical "escape" format, and "hex" format. Both of these are always accepted on input. The output format depends on the configuration parameter bytea_output; the default is hex. (Note that the hex format was introduced in PostgreSQL 9.0; earlier versions and some tools don't understand it.)
The SQL standard defines a different binary string type, called BLOB or BINARY LARGE OBJECT. The input format is different from bytea, but the provided functions and operators are mostly the same.
Ich würde da jetzt mal herumexperimentieren (oder besser: nein,
ich würde jetzt
nicht, aber
du könntest). Schau dir auch mal die beiden Tabellen in der verlinkten Doku an, da gibt es auch sog. Ausgabe-Parameter, die darüber entscheiden, was wie ausgegeben wird, insbesondere, wenn Zeichen zuvor maskiert wurden.
Gerade finde ich noch einen Hinweis in meinem PostGre-Handbuch:
Um den Datentyp bytea zu verwenden, sollten Sie einfach die Methoden getBytes(), setBytes(),
getBinaryStream() oder setBinaryStream() anwenden.