Re: streaming access to bytea data

Lists: pgsql-jdbc
From: David Durham <ddurham(at)vailsys(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: streaming access to bytea data
Date: 2006-03-17 23:51:42
Message-ID: 441B4B8E.2030404@vailsys.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Hi all,

I've got a couple questions regarding bytea columns and streaming.

1 - Does Postgres server load the entire bytea column before sending to
clients?

Might not be the right list for the previous question, but I thought
someone might know.

2 - Does the current postgres jdbc driver support streaming reads/writes
of bytea columns? I saw in the archives that someone submitted a patch
for streaming writes, but I didn't see anything regarding reads.

If the jdbc driver doesn't currently support streaming reads, are there
any plans to add this feature? Any particular technical hurdles?

Thanks,

Dave


From: Kris Jurka <books(at)ejurka(dot)com>
To: David Durham <ddurham(at)vailsys(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: streaming access to bytea data
Date: 2006-03-18 00:21:57
Message-ID: Pine.BSO.4.63.0603171918240.22748@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Fri, 17 Mar 2006, David Durham wrote:

> 1 - Does Postgres server load the entire bytea column before sending to
> clients?

Yes.

> Might not be the right list for the previous question, but I thought someone
> might know.
>
> 2 - Does the current postgres jdbc driver support streaming reads/writes of
> bytea columns? I saw in the archives that someone submitted a patch for
> streaming writes, but I didn't see anything regarding reads.

The JDBC driver can stream the write to the server, but the server will
still read the entire stream before writing it to disk, so it's a client
only streaming.

> If the jdbc driver doesn't currently support streaming reads, are there any
> plans to add this feature? Any particular technical hurdles?
>

The JDBC driver doesn't support streaming reads, nor does any other client
interface. You would need to extend the frontend/backend protocol to
return some sort of pointer to the bytea reference rather than the whole
thing. This will still require the server to store the whole bytea result
somewhere to allow it to be pointed to.

Perhaps you should think about using large objects instead of bytea?

Kris Jurka


From: David Durham <ddurham(at)vailsys(dot)com>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: streaming access to bytea data
Date: 2006-03-18 00:27:10
Message-ID: 441B53DE.50909@vailsys.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Kris Jurka wrote:
> On Fri, 17 Mar 2006, David Durham wrote:
>
>> 1 - Does Postgres server load the entire bytea column before sending
>> to clients?
>
> Yes.

ok

> The JDBC driver doesn't support streaming reads, nor does any other
> client interface. You would need to extend the frontend/backend
> protocol to return some sort of pointer to the bytea reference rather
> than the whole thing. This will still require the server to store the
> whole bytea result somewhere to allow it to be pointed to.
>
> Perhaps you should think about using large objects instead of bytea?

Thanks for the quick response, and the exact information that I needed.
Unfortunately large objects don't work with Slony replication.

Thanks again,

Dave