Thread: How to delete Large Object from Database?

How to delete Large Object from Database?

From
"Premsun Choltanwanich"
Date:
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?

Re: How to delete Large Object from Database?

From
Moises Alberto Lindo Gutarra
Date:
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

Re: How to delete Large Object from Database?

From
Douglas McNaught
Date:
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

Re: How to delete Large Object from Database?

From
"Premsun Choltanwanich"
Date:
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

Re: How to delete Large Object from Database?

From
"Premsun Choltanwanich"
Date:
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

Re: How to delete Large Object from Database?

From
Douglas McNaught
Date:
"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

Re: How to delete Large Object from Database?

From
"Premsun Choltanwanich"
Date:
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