Re: Streaming binary data into db, difference between Blob

Поиск
Список
Период
Сортировка
От Fernando Nasser
Тема Re: Streaming binary data into db, difference between Blob
Дата
Msg-id 3F5F1FA7.9060303@redhat.com
обсуждение исходный текст
Ответ на Streaming binary data into db, difference between Blob and LargeO bject  (Andreas Prohaska <ap@apeiron.de>)
Список pgsql-jdbc
Andreas Prohaska wrote:
> Hi!
>
> What's the difference in the current (7.3.4) JDBC driver between
> ordinary JDBC Blobs and the LargeObject API in matters of *streaming*
> data into the DB? I don't want to allocate a buffer in the Java VM to
> hold the whole blob and send the blob in one piece. Rather I would like
> to work with a small buffer (~4kb) and stream the blob from the
> filesystem into the db.
>

First we don't have Large Objects proper because PostgreSQL does not yet
has the SQL-LOBs.  It will be in 7.5.

We have two things:

1) An extension to the JDBC to deal with the PostgreSQL own type of
Large Objects. Streaming is used as you want.  But this type has
security issues (that may or may not be of importance to your application).

2) The VARBINARY type is being mapped to the PostgreSQL bytea type which
can handle a large size.  The community version of the driver stores
things in memory, converts it to ASCII and usually runs out of memory.

The patch to work around the problems in 2 for 7.3 backends was posted
on the list.  Feel free to use it.

On 7.4 this problem will be solved by the new V3 protocol.  Red Hat is
producing a patch to solve this problem for 7.4 backends.



> Looking at the AbstractJdbc2Blob class I think that JDBC Blobs internally
> use LargeObjects. As I know, this was not the case in earlier versions
> of the driver. Am I right?
>

This is for the PostgreSQL Large Objects, not the standard JDBC and SQL
BLOBs.


> So far, I'm using LargeObjects and everything works fine, but I intend to
> use c-jdbc for db replication and would have to use JDBC blobs then.
>

We don't have them yet because PostgreSQL does not have them.  But I
believe c-jdbc works with PostgreSQL so there must be a way around it.

--
Fernando Nasser
Red Hat Canada Ltd.                     E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Vikram Yadav
Дата:
Сообщение: postgresql driver for JDBC !
Следующее
От: Paul Thomas
Дата:
Сообщение: Re: JBoss w/int8 primary keys in postgres ...