2000-11-22 01:54:21 +08:00
|
|
|
$Header: /cvsroot/pgsql/contrib/vacuumlo/Attic/README.vacuumlo,v 1.2 2000/11/21 17:54:21 tgl Exp $
|
2000-06-19 22:02:16 +08:00
|
|
|
|
|
|
|
This is a simple utility that will remove any orphaned large objects out of a
|
2000-11-22 01:54:21 +08:00
|
|
|
PostgreSQL database. An orphaned LO is considered to be any LO whose OID
|
|
|
|
does not appear in any OID data column of the database.
|
|
|
|
|
2000-06-19 22:02:16 +08:00
|
|
|
|
|
|
|
Compiling
|
|
|
|
--------
|
|
|
|
|
|
|
|
Simply run make. A single executable "vacuumlo" is created.
|
|
|
|
|
2000-11-22 01:54:21 +08:00
|
|
|
|
|
|
|
Usage
|
|
|
|
-----
|
2000-06-19 22:02:16 +08:00
|
|
|
|
|
|
|
vacuumlo [-v] database [db2 ... dbn]
|
|
|
|
|
|
|
|
The -v flag outputs some progress messages to stdout.
|
|
|
|
|
2000-11-22 01:54:21 +08:00
|
|
|
|
2000-06-19 22:02:16 +08:00
|
|
|
Method
|
|
|
|
------
|
|
|
|
|
|
|
|
First, it builds a temporary table which contains all of the oid's of the
|
|
|
|
large objects in that database.
|
|
|
|
|
2000-11-22 01:54:21 +08:00
|
|
|
It then scans through all columns in the database that are of type 'oid',
|
|
|
|
and removes any matching entries from the temporary table.
|
|
|
|
|
|
|
|
The remaining entries in the temp table identify orphaned LOs. These are
|
|
|
|
removed.
|
|
|
|
|
2000-06-19 22:02:16 +08:00
|
|
|
|
2000-11-22 01:54:21 +08:00
|
|
|
Notes
|
|
|
|
-----
|
2000-06-19 22:02:16 +08:00
|
|
|
|
|
|
|
I decided to place this in contrib as it needs further testing, but hopefully,
|
2000-11-22 01:54:21 +08:00
|
|
|
this (or a variant of it) would make it into the backend as a "vacuum lo"
|
|
|
|
command in a later release.
|
2000-06-19 22:02:16 +08:00
|
|
|
|
|
|
|
Peter Mount <peter@retep.org.uk>
|
|
|
|
http://www.retep.org.uk
|
|
|
|
March 21 1999
|
|
|
|
|
|
|
|
Committed April 10 1999 Peter
|