Os dados são escapados (começa com \x e depois são dois caracteres hexadecimais para cada byte) isso é o que sai de um campo bytea. você precisa desbloqueá-lo antes de armazená-lo no arquivo.