BUG #2239: "vacuumdb -a" remove freeze - Mailing list pgsql-bugs

From Olleg Samoylov
Subject BUG #2239: "vacuumdb -a" remove freeze
Date
Msg-id 20060206115012.DEC6BF0AC7@svr2.postgresql.org
Whole thread Raw
Responses Re: BUG #2239: "vacuumdb -a" remove freeze
List pgsql-bugs
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.

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: incorrect collation order in at least some non-C locales
Next
From: alexis@m2osw.com
Date:
Subject: Re: BUG #2237: SELECT optimizer drops everything improperly