Re: Como puedo guardar archivos binarios en una tabla de una BD Postgresql

From: Chema Cortes <chema(at)ls-l(dot)org>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Como puedo guardar archivos binarios en una tabla de una BD Postgresql
Date: 2005-07-22 12:18:18
Message-ID: 42E0E40A.4010002@ls-l.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:

> 3. almacenar usando el tipo Bytea. Ventaja: tienes que hacer una
> conversion al insertar y extraer, puesto que hay que escapar los
> caracteres "ascii 0" (NUL), backslash y otros (AFAIR el unico otro es la
> comilla simple). Alternativamente puedes usar un mecanismo que no
> necesite escapar, pero entiendo que no esta implementado en PHP.

Por si puede servirle a álguien, hice un artículo para manejar binarios
en postgres con python en el que, de paso, comparo los tres módulos más
populares que tiene python para conectar con postgres:

http://ch3m4.org/blog/index.php/py/2005/01/24/manejo_de_blobs_con_postgresql

Lo de los "escapes" es necesario cuando construyes la "query" en formato
texto; pero resulta más conveniente pasar los datos binarios como
parámetro independiente en la ejecución de la query, sin necesidad de
convertir nada. En el artículo lo explico con el módulo "psycopg" de
python; en C sería utilizando la función "PQexecParams".

Lo de usar LO ó ByteA lo pregunté por aquí hace unos meses, y la
respuesta que obtuve venía a decir que la principal ventaja de los LO es
que funciona como un fichero normal, pudiendo hacer seeks sobre éllos;
aunque su principal desventaja es que pierden fácilmente la integridad
referencial, por lo que parecen más recomendable utilizar ByteA en general.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message blackbeer 2005-07-22 12:29:16 traduccion
Previous Message Martín Marqués 2005-07-22 11:44:29 Re: Como puedo guardar archivos binarios en una tabla de una BD Postgresql