vacuumlovacuumlovacuumlo> is a simple utility program that will remove any
orphaned> large objects from a
PostgreSQL> database. An orphaned large object (LO) is
considered to be any LO whose OID does not appear in any oid> or
lo> data column of the database.
If you use this, you may also be interested in the lo_manage>
trigger in the module.
lo_manage> is useful to try
to avoid creating orphaned LOs in the first place.
Usage
vacuumlo [options] database [database2 ... databaseN]
All databases named on the command line are processed. Available options
include:
Write a lot of progress messages.Don't remove anything, just show what would be done.username>User name to connect as.
Never issue a password prompt. If the server requires password
authentication and a password is not available by other means
such as a .pgpass file, the connection
attempt will fail. This option can be useful in batch jobs and
scripts where no user is present to enter a password.
Force vacuumlo to prompt for a
password before connecting to a database.
This option is never essential, since
vacuumlo will automatically prompt
for a password if the server demands password authentication.
However, vacuumlo will waste a
connection attempt finding out that the server wants a password.
In some cases it is worth typing hostname>Database server's host.port>Database server's port.Method
First, it builds a temporary table which contains all of the OIDs of the
large objects in that database.
It then scans through all columns in the database that are of type
oid> or lo>, and removes matching entries from the
temporary table.
The remaining entries in the temp table identify orphaned LOs.
These are removed.
Author
Peter Mount peter@retep.org.uk