From: | Michael Goldner <mgoldner(at)agmednet(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-admin(at)postgresql(dot)org> |
Subject: | Re: Database size with large objects |
Date: | 2007-11-05 07:41:48 |
Message-ID: | C354417C.178A0%mgoldner@agmednet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
On 11/5/07 12:19 AM, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Michael Goldner <mgoldner(at)agmednet(dot)com> writes:
>> The pg_largeobject table, however, seems a bit odd:
>
>> INFO: vacuuming "pg_catalog.pg_largeobject"
>> INFO: index "pg_largeobject_loid_pn_index" now contains 105110204 row
>> versions in 404151 pages
>> DETAIL: 778599 index row versions were removed.
>> 0 index pages have been deleted, 0 are currently reusable.
>> CPU 21.24s/48.07u sec elapsed 273.15 sec.
>> INFO: "pg_largeobject": removed 778599 row versions in 775264 pages
>> DETAIL: CPU 54.73s/29.70u sec elapsed 2203.32 sec.
>> INFO: "pg_largeobject": found 778599 removable, 105094846 nonremovable row
>> versions in 34803136 pages
>> DETAIL: 0 dead row versions cannot be removed yet.
>> There were 70 unused item pointers.
>> 0 pages are entirely empty.
>> CPU 1031.40s/339.21u sec elapsed 10875.66 sec.
>> VACUUM
>
>> In particular, "105094846 nonremovable row versions in 34803136 pages" seems
>> really high given that there are only about 400,000 large objects.
>
> Well, each row in pg_largeobject is a 2K (at most) chunk of a large
> object. There is something funny here because if there's only 100GB
> of LO data, that would average out to less than 1K per row, which is
> half what I'd expect. Do you have another source of large objects
> that are not-so-large-as-all-that and might be dragging down the
> average?
>
> It might be interesting to look at stats such as
> select sum(length(data)) from pg_largeobject;
> to confirm that your 100GB estimate for the data payload is accurate.
>
> regards, tom lane
That select returns the following:
image=# select sum(length(data)) from pg_largeobject;
sum
--------------
215040008847
(1 row)
The actual on-disk data before the import was about half (this is a
production environment so data has been added over the last 2 days):
# du -sh /pglog/image_lo/
102G /pglog/image_lo/
--
Mike Goldner
Vice President Networks and Technology
AG Mednet, Inc.
The Pilot House
Lewis Wharf
Boston, MA 02110
617.854.3225 (office)
617.909.3009 (mobile)
From | Date | Subject | |
---|---|---|---|
Next Message | eromain | 2007-11-05 11:40:56 | Error Migrating From 7.4 to 8.2.5 |
Previous Message | Peter Eisentraut | 2007-11-05 07:07:04 | Re: RPATH issue with libpq on Solaris 8 (gcc) |