PostgreSQL 8.3.1 Documentation
Prev | Fast Backward | Appendix F. Additional Supplied Modules | Fast Forward | Next

# F.33. vacuumlo

vacuumlo 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 `contrib/lo` (see Section F.14). `lo_manage` is useful to try to avoid creating orphaned LOs in the first place.

## F.33.1. Usage

    vacuumlo [options] database [database2 ... databaseN]

All databases named on the command line are processed. Available options include:

`-v`

  Write a lot of progress messages.

`-n`

  Don't remove anything, just show what would be done.

`-U` `username`

  Username to connect as.

`-W`

  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 `-W` to avoid the extra connection attempt.

`-h` `hostname`

  Database server's host.

`-p` `port`

  Database server's port.

## F.33.2. 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.

## F.33.3. Author

Peter Mount `<peter@retep.org.uk>`

Prev | Home | Next
uuid-ossp | Up | xml2