The following bug has been logged online:
Bug reference: 2239
Logged by: Olleg Samoylov
Email address: olleg_s@mail.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 * from pg_database where datname='template1';
datname | datdba | encoding | datistemplate | datallowconn | datconnlimit
| datlastsysoid | datvacuumxid | datfrozenxid | dattablespace | datconfig |
datacl
-----------+--------+----------+---------------+--------------+-------------
-+---------------+--------------+--------------+---------------+-----------+
------------------------
template1 | 10 | 6 | t | t | -1
| 10792 | 1112 | 3221226585 | 1663 | |
{postgres=CT/postgres}
(1 row)
template1=# vacuum freeze;
VACUUM
template1=# select * from pg_database where datname='template1';
datname | datdba | encoding | datistemplate | datallowconn | datconnlimit
| datlastsysoid | datvacuumxid | datfrozenxid | dattablespace | datconfig |
datacl
-----------+--------+----------+---------------+--------------+-------------
-+---------------+--------------+--------------+---------------+-----------+
------------------------
template1 | 10 | 6 | t | t | -1
| 10792 | 1172 | 1172 | 1663 | |
{postgres=CT/postgres}
(1 row)
Okey, freezed, now launch vacuumdb from command line:
# vacuumdb -a -U postgres
vacuumdb: vacuuming database "postgres"
VACUUM
vacuumdb: vacuuming database "template1"
VACUUM
Opps, template1 must not be vacuumed.
select * from pg_database where datname='template1';
datname | datdba | encoding | datistemplate | datallowconn | datconnlimit
| datlastsysoid | datvacuumxid | datfrozenxid | dattablespace | datconfig |
datacl
-----------+--------+----------+---------------+--------------+-------------
-+---------------+--------------+--------------+---------------+-----------+
------------------------
template1 | 10 | 6 | t | t | -1
| 10792 | 1287 | 3221226760 | 1663 | |
{postgres=CT/postgres}
(1 row)
Unfreezed indeed.