BYTEA
Tipo de PostgreSQL para datos binarios — imágenes, campos cifrados, valores hash. Almacenamiento por defecto dentro de la fila con TOAST para valores grandes. Distinto de los LOB (Large Objects), que se guardan aparte y se acceden por streaming vía OID.
Representación en SQL: hex-escape ('\x48656c6c6f') o formato escape. Límites: 1 GB por valor (TOAST). Bueno para datos binarios <1 MB. Para ficheros mayores: lo habitual es guardarlos en S3 y dejar solo la URL en la base de datos. Antipatrón clásico: meter ficheros de 100 MB en un bytea → la copia de seguridad de la base de datos pasa a 500 GB, retraso de replicación, dolor con el vacuum. Equivalente en MySQL: BLOB, MEDIUMBLOB (16 MB), LONGBLOB (4 GB). pg_dump sobre bytea es eficiente, pero pg_basebackup es más rápido para grandes conjuntos de datos binarios.