Thread: RE: [SQL] Deleting large objects from database.

RE: [SQL] Deleting large objects from database.

From
Czarny Marcin
Date:

> -----Oryginalna wiadomość-----
> Od:    Howie [SMTP:caffeine@toodarkpark.org]
> Wysłano:    16 grudnia 1999 06:52
> Do:    Czarny Marcin
> DW:    'pgsql-sql@postgresql.org'
> Temat:    Re: [SQL] Deleting large objects from database.
> 
> On Tue, 14 Dec 1999, Czarny Marcin wrote:
> 
> > I have column with large objects in table named my_table.
> > After SQL command:
> >    delete from my_table;
> > they are still files xinv* and xinx* in directory ./data/base/my_db.
> > Have I delete this files from operating system?
> > What is wrong? I hope thats is only my ignorance?
> 
> delete'ing a record that 'holds' the LO's OID isnt the same as using
> lo_unlink() to delete the LO from disk.
> 
> what you might want to do is look at $PGSQL_SRC_ROOT/contrib/lo.
> 'lo_manage()' is a function you can use in a DELETE trigger that, assuming
> a row 'housing' the LO's OID gets wiped, will lo_unlink() the LO, removing
> it from disk.  its got a small bug ( doesnt, or didnt, properly check for
> NULL OIDs ), so be warned.
> 
> ---
> Howie <caffeine@toodarkpark.org>   URL: http://www.toodarkpark.org    
> "Tell a man that there are 400 billion stars and he'll believe you. 
>  Tell him a bench has wet paint and he has to touch it."
> YEEESSS! That's it. I've made trigger with: select lo_unlink(...... And it's
work great. Thanks a lot Howie.MC :-))