Table of Contents

NAME

purge -- discard historical data

SYNOPSIS

purge classname [ before abstime ] [ after reltime ]

DESCRIPTION

Purge allows a user to specify the historical retention properties of a class. If the date specified is an absolute time such as `Jan 1 1987', Postgres will discard tuples whose validity expired before the indicated time. Purge with no before clause is equivalent to `purge before now'. Until specified with a purge command, instance preservation defaults to `forever'.

The user may purge a class at any time as long as the purge date never decreases. Postgres will enforce this restriction, silently.

Note that the purge command does not do anything except set a parameter for system operation. Use vacuum(l) to enforce this parameter.

EXAMPLE

--
--Always discard data in the EMP class
--prior to January 1, 1989
--
purge EMP before "Jan 1 1989"
--
--Retain only the current data in EMP
--
purge EMP

SEE ALSO

vacuum(l) .

BUGS AND CAVEATS

Error messages are quite unhelpful. A complaint about `inconsistent times' followed by several nine-digit numbers indicates an attempt to `back up' a purge date on a relation.

You cannot purge certain system catalogs (namely, `pg_class', `pg_attribute', `pg_am', and `pg_amop') due to circularities in the system catalog code.

This definition of the purge command is really only useful for non-archived relations, since tuples will not be discarded from archive relations (they are never vacuumed).


Table of Contents