Hola. Hace un tiempo tuvimos un problema similar, y resolvimos dejar todo en la base de datos, por la accebilidad (si tengo acceso a la base tengo acceso al documento y en este caso mis clientes deben por lo menos tener este acceso).
Hicimos una aplicacion que traspasa todo el archivo a texto y genera un hash. y luego se reconstruye, no hemos tenido mayores problemas, con este metodo podemos almacenar cualquier tipo de archivo. Obviamente es un tema importante a considerar el tamaño, en nuestro caso limitamos el tamaño de los archivos a un peso determinado. Pero siempre esta el tema de que la base de datos sea muy obesa. Para hacer esto usamos tres campos: nombre archivo: en caso de requerir reconstruilo en disco. serial: codigo hash para leer/reconstruir el archivo texto: contenido del archivo, esto es en byte's y llevados a un string de hexadecimales, es un string para permitir trabajar con otros motores de datos y mantener el mismo algoritmo. Nosotros lo usamos principalmente para almacenar fotografias y logos, (en general archivos pequeños). 2010/9/21 Alvaro Herrera <alvhe...@commandprompt.com> > Excerpts from Ariel Centeno's message of mar sep 21 07:29:29 -0400 2010: > > > > Me parece lo mas logico guardar solo las referencias a los documentos en > la base de datos. Es la forma mas rapida y evitas conversiones que por hay > no funcionan del todo bien. > > Si la conversión no funciona "del todo bien", es un bug de tu > aplicación. > > Respecto a que sea lo más lógico, no estoy de acuerdo. Puede ser lo más > simple, si sólo haces la parte más sencilla, pero si quieres manejar los > documentos en forma transaccional, es mucho más complicado; en cambio si > almacenas los documentos en la base de datos, la parte transaccional se > maneja sola. > > Lo otro a considerar son los respaldos. Si los metes en la BD, los > documentos son parte del pg_dump. De lo contrario debes respaldarlos > por separado (y tienes que tener cuidado de que los respaldos de los > archivos sean consistentes con los de la BD). > > También está el tema de la seguridad: cómo hacer que cada usuario sólo > vea los documentos a los que tiene acceso. > > Otro: si pones los dctos en la BD puede ser mas simple hacer indexacion > del texto en ellos. > > Y supongo que otras consideraciones se me olvidan. > > En resumen, no es tan facil como parece; en la BD muchos problemas ya > estan resueltos. > > -- > Álvaro Herrera <alvhe...@commandprompt.com> > The PostgreSQL Company - Command Prompt, Inc. > PostgreSQL Replication, Consulting, Custom Development, 24x7 support > - > 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 > -- Javier Fritz