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