Removing large objects from the db (Q at bottom)

From: jagged(at)shaitan(dot)demiurge(dot)org
To: pgsql-general(at)hub(dot)org
Subject: Removing large objects from the db (Q at bottom)
Date: 1998-12-30 18:10:21
Message-ID: 19981230121021.A888@shaitan.demiurge.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Let's say you've got the following relation in a database:

CREATE TABLE foo (
descr VARCHAR(32),
content OID
);

and you do a

INSERT INTO foo (descr, content)
VALUES ('obj1', lo_import('/tmp/bar.txt'));

then you'll have one tuple in your relation with the oid of the imported
'bar.txt' in the content column, so if you were to do a

SELECT * FROM foo;

you might get something that looks like

descr|content
-----+-------
obj1 | 166219
(1 row)

Now, if you do a

DELETE FROM foo WHERE descr = 'obj1';

you'll wind up deleting the tuple in foo, but if you do a

SELECT lo_export(166219, '/tmp/frotz.txt');

you'll find that the large object is still in the database, which makes
sense, since you're only deleting a pointer to the lo. I apologise for the
pedantry -- I just wanted to make sure that I was on solid ground before I
asked what will very probably be a silly question: How do you delete a
large object from the database? I didn't see a built in function, and there
wasn't anything in section 15 of the programmer's manual.

--
Alexander Garrett - Information Architect, Demiurge Electronic Publishing
* like tiny insects in the palm of history a domino effect in a cloud
* of mystery my writing is an iron fist in a glove full of vaseline
* but i dip the fuse in the kerosene i too become a dissident - Dolby
agarrett(at)demiurge(dot)org * Save the Adverb! * http://www.demiurge.org/adverb
--
Note: This message was sent by a robot.

Browse pgsql-general by date

  From Date Subject
Next Message Mike Meyer 1998-12-30 18:33:24 Re: [GENERAL] Strange error with Pg.so
Previous Message sdupille 1998-12-30 14:45:03 Bug in char ?