Got it. Thanks Laurenz.
One thing is little confusing, if large objects don't belong to a table, then how does restriction of 8GB table size for TAR format is applicable if BLOB data is involved.
Is it (Regular Table Data size) + (BLOB data held by OID stored in the table) ?
If just OID of a large object is copied to a different table say 'Table2'. Then for 'Table2' as well should I calculate the total size as (Regular Table Data size) + (BLOB data held by OID stored in the table) ?
Thanks
Girish
On Fri, Sep 18, 2015 at 5:23 PM, Albe Laurenz <laurenz.albe@xxxxxxxxxx> wrote:
girish R G peetle wrote:
> PostgreSQL system function, pg_total_relation_size() doesn't include BLOB data size that is associated
> with the table.
>
> TAR dump restore fails if the BLOB data size associated with a table is more than 8GB. (Which is
> limitation of TAR format).
>
> I know we can switch to compressed dump format. But wanted to know if there a way to know true size of
> a table.
Not easily, because technically, large objects don't belong to a table.
You'd have to write your own that scans the table and adds the size of
all referenced large objects.
It can probably be done in one SELECT using lo_lseek.
Yours,
Laurenz Albe