The following bug has been logged online:
Bug reference: 2241
Logged by: Olleg Samoylov
Email address: olleg@mipt.ru
PostgreSQL version: 8.1
Operating system: Linux (debian-amd64)
Description: "vacuumdb -a" remove freeze
Details:
template1=# select version();
version
----------------------------------------------------------------------------
------------------------------------
PostgreSQL 8.1.0 on x86_64-pc-linux-gnu, compiled by GCC cc (GCC) 4.0.3
20051111 (prerelease) (Debian 4.0.2-4)
(1 row)
template1=# select datname,datvacuumxid,datfrozenxid from pg_database where
datname='template1';
datname | datvacuumxid | datfrozenxid
-----------+--------------+--------------
template1 | 2000 | 3221227473
(1 row)
template1=# vacuum freeze;
VACUUM
template1=# select datname,datvacuumxid,datfrozenxid from pg_database where
datname='template1';
datname | datvacuumxid | datfrozenxid
-----------+--------------+--------------
template1 | 2056 | 2056
(1 row)
Okey, frozen, now lanch vacuumdb from command line:
# vacuumdb --version
vacuumdb (PostgreSQL) 8.1.0
# vacuumdb -a -U postgres
vacuumdb: vacuuming database "postgres"
VACUUM
vacuumdb: vacuuming database "template1"
VACUUM
Oops, template1 must not be vacuumed.
template1=# select datname,datvacuumxid,datfrozenxid from pg_database where
datname='template1';
datname | datvacuumxid | datfrozenxid
-----------+--------------+--------------
template1 | 2171 | 3221227644
(1 row)
template1 is unfrozen.