Modern versions of PostgreSQL no longer need the odd "BLOB" objects. They can store large binary/text in a column (type "BYTEA" and "TEXT" respectively), and the
external storage is managed directly by the backend. This is similar (from a user's perspective) to how MySQL does it. The old BLOB interface is still supported, mostly for backward compatibilty, I suspect. The Perl interface (
DBD::Pg) handles the small amount of escaping necessary for arbitrary binary data, provided you use a placeholder.
-- Randal L. Schwartz, Perl hacker