Re: [HACKERS] are BLOBs deleted that are not referenced? - Mailing list pgsql-hackers

From Peter T Mount
Subject Re: [HACKERS] are BLOBs deleted that are not referenced?
Date
Msg-id Pine.LNX.3.96.980705110256.3600D-100000@maidast.retep.org.uk
Whole thread Raw
In response to are BLOBs deleted that are not referenced?  (David Wetzel <dave@turbocat.de>)
List pgsql-hackers
On Fri, 3 Jul 1998, David Wetzel wrote:

> Hi,
>
> are BLOBs deleted that are not referenced any more?

No, they remain in the database, and become 'orphaned'. We are looking at
ways of removing this problem, which occurs mainly with JDBC & ODBC based
clients.

There is one method in src/contrib/lo which goes some way in solving this,
but there was also discussion about using vacuum to remove the orphaned
blobs.

> Imagine, I have a table with a column
>
>   | text   | oid  |     4 |
>
> when this row is deleted, will postgres throw the BLOB away?

The lo type (src/contrib/lo) handles row deletion (as well as updates) by
defining a trigger which deletes the associated blob as required.

However, DELETE TABLE doesn't fire a trigger, so if the table's contents
don't get deleted first, then the blobs are again orphaned.

--
Peter T Mount peter@retep.org.uk or petermount@earthling.net
Main Homepage: http://www.retep.org.uk
************ Someday I may rebuild this signature completely ;-) ************
Work Homepage: http://www.maidstone.gov.uk Work EMail: peter@maidstone.gov.uk


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Revised proposal for libpq and FE/BE protocol changes
Next
From: Peter T Mount
Date:
Subject: JDBC Driver Development Hitch