At 18:48 05/06/2012, you wrote:
Hola gente


Tengo que guardar unos campos binarios en un campo bytea. en verdad estoy importando desde un archivo access
y el campo del access viene como image, equivalente a nuestro bytea.
Ahora bien, intento entender como se haria segun lo que entendi de la documentacion podria hacerlo de la sig manera:

1)  cada byte escapearlo y ponerlo en 3 digitos en formato octal o sea ej.
    el byte a codificar es 7F (hexadecimal) me quedaria  //177
NOTA: no es necesario escapear todos los caracteres pero tampoco esta prohibido (deberia escapear los no imprimibles etc).

2) por cada byte podria usar el /x escape ( modo hexa) fijense que parece mas compacto o sea el 7F del caso anterior quedaria /x7F y listo (1 byte menos sin contar que el cero /x0 ahorra mas.)

AHORA,, es correcto esto?
si fuese correcto supongo que sin importar como lo importe que formato deberia quedar lo mismo en el campo,no? siempre todos los inserts los hago con E'/xxx' ::bytea conversion de string escapeado a bytea.
Cualquier comentario sera agradecido

Aparte de lo que te han comentado, otra opcion es convertir el archivo a base64 y guardarlo como TEXT. Eso si, ocupara un poco mas espacio.

saludos
JMDC


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a