Hola. Me parece que no entendí muy bien lo que quieres hacer pero intentare
ayudar.

'\\377\\330\\377\\333\\000C\\.................'
el problema ocurre cuando ejecuto un select.... y el resultado del select lo
quiero poner en un insert. el mismo campo en un select me sale asi:
'\377\330\377\333\000C\000\.............

Supongo que el resultado te sale así por el "escape". Aquí te dejo la
documentación para aclara lagunas
http://www.postgresql.org/docs/9.0/static/datatype-binary.html

En segundo plano al ejecutar lo siguiente <<select 'insert into tablaB
values('''||foto||''')'  from tablaA>> solo te va traer los datos de tablaA
sin hacer otro efecto porque insert into esta en comillas y si lo sacas de
comillas es un error de sintaxis. Hmmmmm << insert into tablab (select foto
from tablaA)>> me parece que no funciona, pero no estoy seguro.

En tercer plano puede que te sirva hacer una función como esta pero algo mas
amplia.

CREATE OR REPLACE FUNCTION "public"."aa" (
)
RETURNS "pg_catalog"."void" AS
$body$
declare
reg record;

begin

select * from table2 into reg;

if found THEN

insert into table1 (codigo)
values (reg.codigo);

end if;
end;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;

Nota: Cada vez que ejecutes vas a escribir la data nuevamente.

Ahhh leete algo de Copy puede que te sirva
http://www.postgresql.org/docs/9.0/static/sql-copy.html

Espero te sirva.

-- 
Al_Hilario Company

Responder a