vacuumlovacuumlo1Applicationvacuumloremove orphaned large objects from a PostgreSQL databasevacuumlooptiondbnameDescriptionvacuumlo> 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.
All databases named on the command line are processed.
Optionsvacuumlo accepts the following command-line arguments:
limit>
Remove no more than limit> large objects per
transaction (default 1000). Since the server acquires a lock per LO
removed, removing too many LOs in one transaction risks exceeding
. Set the limit to
zero if you want all removals done in a single transaction.
Don't remove anything, just show what would be done.Write a lot of progress messages.
Print the vacuumlo version and exit.
Show help about vacuumlo command line
arguments, and exit.
vacuumlo also accepts the following command-line
arguments for connection parameters:
hostname>Database server's host.port>Database server's port.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 Notesvacuumlo works by the following method:
First, vacuumlo> builds a temporary table which contains all
of the OIDs of the large objects in the selected 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. (Note: Only types with these names are considered; in particular,
domains over them are not considered.) The remaining entries in the
temporary table identify orphaned LOs. These are removed.
Author
Peter Mount peter@retep.org.uk