Re: [INTERFACES] JDBC: detecting lost backend; 8192 byte limit in queries - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: [INTERFACES] JDBC: detecting lost backend; 8192 byte limit in queries
Date
Msg-id 2473.919354558@sss.pgh.pa.us
Whole thread Raw
In response to JDBC: detecting lost backend; 8192 byte limit in queries  (Ari Halberstadt <ari@shore.net>)
List pgsql-interfaces
Ari Halberstadt <ari@shore.net> writes:
> - how do I store more than 8192 bytes?

Eliminating the restriction on the textual length of a query is on my
to-do list.  It's probably not going to happen in time for 6.5, but
maybe for 6.6 (say, this summer).

There is a *separate* restriction on the stored size of a tuple,
namely that it not exceed 1 disk block --- which just happens to be
8K as well by default, but it's a different restriction on a different
kind of data.

If your objective is to be able to insert a text field longer than 8K
then both of these restrictions will get in your way.

There has been some talk of allowing tuples to span multiple disk
blocks, but I get the impression that it's still a ways from happening.
In the meantime it is possible to compile Postgres with a larger
block size; if 16K or so per tuple would solve your problem then that
is a feasible workaround.  (Would someone who's done that note for the
record exactly what to change?)

The query length limit appears as a constant in enough different places
that patching it up to a larger value would probably be pretty tedious
:-(.  I haven't tried it.

            regards, tom lane

pgsql-interfaces by date:

Previous
From: Michael Contzen
Date:
Subject: What is SQLForignKeys in ODBC-Driver
Next
From: Dave Page
Date:
Subject: Trigger Information