> -----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 :-))