Skip site navigation (1) Skip section navigation (2)

How to transfer binary data into a BIT VARYING column ?

From: Timothy Madden <terminatorul(at)gmail(dot)com>
To: pgsql-odbc(at)postgresql(dot)org
Subject: How to transfer binary data into a BIT VARYING column ?
Date: 2009-05-19 13:24:36
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-odbc

I have a BIT VARYING(83886080) column in my table and I would like to
store file attachments
in it.

Since the files to attach can be arbitrary large I tried to use a
query parameter of type
large object to insert values in the BIT VARYING column, but psqlODBC
first complained
that there is no 'lo' type defined, and after creating the type it
complained that type 'lo' is
different than type 'BIT VARYING'.

I would like to use BIT VARYING because it is an ANSI-conformant
binary type, while
bytea and 'lo' are not ANSI SQL.

I noticed I can insert a string of characters (not bits) '0' and '1'
in the BIT VARYING column
and PostgreSQL will convert them to bits, but I would like to use
large objects because such
a string would be 8 times larger in size than the file, and it can not
be streamed, I need the
entire string as a parameter to run the INSERT statement.

My ODBC client (php with PDO and PDO_ODBC modules) allows to stream large object
data so it can be sent to the ODBC while it is read from the disk,
without the need to load
it all in memory.

Is there a way to do this ?

I mean the driver can store/retrieve large objects, I just want them
stored in a BIT VARYING

Can the driver use large object data with a BIT VARYING column somehow
? Is there a
cast or a trick I could do ? Or a patch or development version that
can do this ?

Thank you,
Timothy Madden


pgsql-odbc by date

Next:From: Tom LaneDate: 2009-05-19 15:18:31
Subject: Re: How to transfer binary data into a BIT VARYING column ?
Previous:From: Timothy MaddenDate: 2009-05-19 12:59:59
Subject: Re: How can I bind query parameters to variables ?

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group