Large object performance

Started by Bosco Ramaover 15 years ago3 messagesgeneral
Jump to latest
#1Bosco Rama
postgres@boscorama.com

Hi folks,

I've been using large objects in 8.4.x for some time now and have noticed that
some operations on large objects appear to take an inordinate amount of time.

For example, the \lo_list command in psql seems slow for what it does (many
seconds before first printed line with only a few thousand loid's).

Also, when dropping the existing objects using the following (or similar table-
specific) syntax:
select lo_unlink(loid) from (select distinct(loid) from pg_largeobjects) as loidtmp;

can take many minutes and sometimes hours depending on loid count.

The machine the server is running on is no slouch either. Dual Quad-core
Opteron 2356's with 32GB of memory.

So, I was wondering if this is normal or if we have done something silly on
our end (or failed to do something smart) that would cause this.

TIA.

Bosco.

#2Wohld, Adam
adam@radarlabs.com
In reply to: Bosco Rama (#1)
Re: Large object performance

unsubscribe

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bosco Rama (#1)
Re: Large object performance

Bosco Rama <postgres@boscorama.com> writes:

Hi folks,
I've been using large objects in 8.4.x for some time now and have noticed that
some operations on large objects appear to take an inordinate amount of time.

For example, the \lo_list command in psql seems slow for what it does (many
seconds before first printed line with only a few thousand loid's).

That particular operation should be significantly faster in 9.0. But in
general large objects are not an area where any great amount of sweat
has been invested on performance issues.

regards, tom lane