How to delete Large Object from Database?

Started by Premsun Choltanwanichover 20 years ago7 messagesgeneral
Jump to latest
#1Premsun Choltanwanich
Premsun@nsasia.co.th

Dear All,

I use '$libdir/lo' for manage my PostgreSQL Large Object. It work fine for me to get and put Large Object from and to database. However I found something that may not correct when I try to backup my data. It seem that I cannot delete Large Object from database. It seem the thing I can do is only delete the reference oid from table but Object still in database.

A Detail shown below is reason I think that I cannot delete Large Object out of database.

14MB of file size when BackUp Data (BLOB Included)
900KB of file size when BackUp Data (BLOB Excluded)
13MB of file size when BackUp Data after delete all data from table that has 'lo' column. (BLOB Included)

So,How to delete Large Object from Database? or Is my understanding wrong?

In reply to: Premsun Choltanwanich (#1)
Re: How to delete Large Object from Database?

try: delete from pg_catalog.pg_largeobject;
from your database.

2005/10/6, Premsun Choltanwanich <Premsun@nsasia.co.th>:

Dear All,

I use '$libdir/lo' for manage my PostgreSQL Large Object. It work fine for
me to get and put Large Object from and to database. However I found
something that may not correct when I try to backup my data. It seem that I
cannot delete Large Object from database. It seem the thing I can do is only
delete the reference oid from table but Object still in database.

A Detail shown below is reason I think that I cannot delete Large Object
out of database.

14MB of file size when BackUp Data (BLOB Included)
900KB of file size when BackUp Data (BLOB Excluded)
13MB of file size when BackUp Data after delete all data from table that has
'lo' column. (BLOB Included)

So,How to delete Large Object from Database? or Is my understanding wrong?

--
Atte

Moises Alberto Lindo Gutarra
Consultor y Desarrollador Java / Open Source
TUMI Solutions SAC
Tel: +51.13481104
Cel: +51.197366260
MSN : mlindo@tumisolutions.com

#3Doug McNaught
doug@mcnaught.org
In reply to: Moises Alberto Lindo Gutarra (#2)
Re: How to delete Large Object from Database?

Moises Alberto Lindo Gutarra <mlindo@gmail.com> writes:

try: delete from pg_catalog.pg_largeobject;
from your database.

Umm, the standard way to do this is lo_unlink(). You can put an
ON DELETE trigger on your referencing table that calls this function.

-Doug

#4Premsun Choltanwanich
Premsun@nsasia.co.th
In reply to: Doug McNaught (#3)
Re: How to delete Large Object from Database?

The lib I use is call lo_in and lo_out for manage BLOB.
I understand that lo_unlink be related with lo_import and lo_export so I don't think that it work.

Douglas McNaught <doug@mcnaught.org> 07-Oct-05 20:13:36 pm >>>

Moises Alberto Lindo Gutarra <mlindo@gmail.com> writes:

try: delete from pg_catalog.pg_largeobject;
from your database.

Umm, the standard way to do this is lo_unlink(). You can put an
ON DELETE trigger on your referencing table that calls this function.

-Doug

#5Premsun Choltanwanich
Premsun@nsasia.co.th
In reply to: Moises Alberto Lindo Gutarra (#2)
Re: How to delete Large Object from Database?

I found loid column in pg_catalog.pg_largeobject. I try to match loid with any numbers in oid column and lo column but I cannot found some that matched.

What think I do that wrong? Please advise

Moises Alberto Lindo Gutarra <mlindo@gmail.com> 07-Oct-05 18:40:12 pm >>>

try: delete from pg_catalog.pg_largeobject;
from your database.

2005/10/6, Premsun Choltanwanich <Premsun@nsasia.co.th>:

Dear All,

I use '$libdir/lo' for manage my PostgreSQL Large Object. It work fine for
me to get and put Large Object from and to database. However I found
something that may not correct when I try to backup my data. It seem that I
cannot delete Large Object from database. It seem the thing I can do is only
delete the reference oid from table but Object still in database.

A Detail shown below is reason I think that I cannot delete Large Object
out of database.

14MB of file size when BackUp Data (BLOB Included)
900KB of file size when BackUp Data (BLOB Excluded)
13MB of file size when BackUp Data after delete all data from table that has
'lo' column. (BLOB Included)

So,How to delete Large Object from Database? or Is my understanding wrong?

--
Atte

Moises Alberto Lindo Gutarra
Consultor y Desarrollador Java / Open Source
TUMI Solutions SAC
Tel: +51.13481104
Cel: +51.197366260
MSN : mlindo@tumisolutions.com

#6Doug McNaught
doug@mcnaught.org
In reply to: Premsun Choltanwanich (#4)
Re: How to delete Large Object from Database?

"Premsun Choltanwanich" <Premsun@nsasia.co.th> writes:

The lib I use is call lo_in and lo_out for manage BLOB.
I understand that lo_unlink be related with lo_import and lo_export so I
don't think that it work.

It's exactly what you want--it removes a LO with the specified OID
from the large object table. The 'contrib/lo' interface is just a thin
wrapper around the base LO calls.

-Doug

#7Premsun Choltanwanich
Premsun@nsasia.co.th
In reply to: Doug McNaught (#6)
Re: How to delete Large Object from Database?

Excuse me, How? I try to find the way but not found.

Douglas McNaught <doug@mcnaught.org> 10-Oct-05 20:07:57 pm >>>

"Premsun Choltanwanich" <Premsun@nsasia.co.th> writes:

The lib I use is call lo_in and lo_out for manage BLOB.
I understand that lo_unlink be related with lo_import and lo_export so I
don't think that it work.

It's exactly what you want--it removes a LO with the specified OID
from the large object table. The 'contrib/lo' interface is just a thin
wrapper around the base LO calls.

-Doug