[Pgsql-ayuda] Insertar datos desde C

Atanacio Reyes areyesv@yahoo.com
Thu, 31 Jul 2003 18:49:32 -0700 (PDT)


--- Mauro Morales <mmorales@tvninteractivo.cl> wrote:
> El jue, 31 de 07 de 2003 a las 18:08, Alex Nu
> escribió:
> >  Uy, no se que significa exactamente serializar,
> >  pero mi problema es:
> > 
> >  Tengo en C/C++,
> >  un arreglo con ~ 300,000 elementos
> >  
> >  Cual seria la forma mas eficiente, para insertar
> >  ese arreglo en una tabla ???
> 
Yo actualmente uso arreglos cuyos elementos son de
tipo int2 (en postgres existe este tipo de dato).  La
longitud de mis arreglos es de 512 elementos.  Cada
arreglo lo almaceno en un registro de una tabla que
además contiene otros campos (que identifican el
arreglo).  Sin embargo tengo entendido que la longitud
de un registro en una tabla está limitado a una página
de memoria, 8k en arquitectura intel de 32 bits (puedo
estar equivocado) por lo que no es posible almacenar
un arreglo de 300,000 elementos float8 en un registro
de una tabla, Pero lo que se puede hacer es que un
campo de la tabla sea un oid que referencíe a un LO
(Large Object) en este caso el LO puede tener el
formato que se desee (PNG,DXF,GIF, MP3 etc), creo que
te conviene que tenga el mismo formato que usa octave
para vectores o matrices.

La documentación de postgres en particular el
PostgreSQL programer's Guide trae un capítulo sobre
Large Objects que te puede ser muy útil.

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com