Hello all,

I try to write large objects in one table support for postgres and have
following problem:

I should calculate maximum amount of data I can put into the bytea field.
Table scheme is:

create table pg_largeobject {
  loid oid,
  lastbyte int4,
  data bytea
);

If I will assume that oid == int4 I will have 4 * 2 + 4 (size of vl_len in bytea) = 12.
Plus 36 bytes of header (as noted in FAQ). It will be 48 bytes... But I still get
error that tuple is out too big... And that my size is 8188, but should be 8140.

It would be great if someone will clarify the way I should do such calculations.

-- 
Sincerely Yours,
Denis Perchine

----------------------------------
E-Mail: dyp@perchine.com
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
----------------------------------

Mon, 26 Jun 2000 03:48:40 +0700
Denis Perchine <dyp@perchine.com>
Maximum len of data fit into the tuple
Denis Perchine <dyp@perchine.com> writes:
> If I will assume that oid == int4 I will have 4 * 2 + 4 (size of
> vl_len in bytea) = 12.  Plus 36 bytes of header (as noted in FAQ). It
> will be 48 bytes... But I still get error that tuple is out too
> big... And that my size is 8188, but should be 8140.

> It would be great if someone will clarify the way I should do such
> calculations.

You forgot the per-page overhead.

Offhand 36 seems too small for the per-tuple overhead, anyway, but I'm
too lazy to count bytes in include/access/htup.h right now...

			regards, tom lane

Sun, 25 Jun 2000 23:26:23 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Maximum len of data fit into the tuple 