Show autovacuum displays 'on'.
db1=# select datname, datvacuumxid, datfrozenxid from pg_database;
datname | datvacuumxid | datfrozenxid
---------------------+--------------+--------------
postgres | 499 | 499
db1 | 71677296 | 3292902769
db2 | 99962197 | 3321187670
db3 | 72274322 | 3293587302
template1 | 499 | 499
template0 | 499 | 499
(6 rows)
db1=# SELECT datname, age(datfrozenxid) FROM pg_database;
datname | age
---------------------+------------
postgres | 143239306
db1 | 1145304332
db2 | 1117019431
db3 | 1144619799
template1 | 143239306
template0 | 143239306
(6 rows)
datname | datvacuumxid | datfrozenxid
---------------------+--------------+--------------
postgres | 499 | 499
db1 | 71677296 | 3292902769
db2 | 99962197 | 3321187670
db3 | 72274322 | 3293587302
template1 | 499 | 499
template0 | 499 | 499
(6 rows)
db1=# SELECT datname, age(datfrozenxid) FROM pg_database;
datname | age
---------------------+------------
postgres | 143239306
db1 | 1145304332
db2 | 1117019431
db3 | 1144619799
template1 | 143239306
template0 | 143239306
(6 rows)
Since we are currently 465208401 transactions away from the 1610512733.
Can i safely sit back and wait for the autovacuum deamon to do its job without any issues ?.
On 4/24/06, Alvaro Herrera <alvherre@xxxxxxxxxxxxxxxxx> wrote:
Gourish Singbal wrote:
> The Age of the database is 1144759836 . We have enabled autovacuuming .
> The details are:-
> autovacuum = on
Are you sure autovacuum is enabled? Do a "SHOW autovacuum" just to be
sure.
The test for database-wide vacuum is:
database age > big_constant
where:
big_constant = (MaxTransactionId >> 3) * 3 - 100000) = 1610512733
MaxTransactionId = 0xFFFFFFFF
database age = Max(frozen age, vacuum age)
frozen age = next Transaction id - pg_database.datfrozenxid
vacuum age = next Transaction id - pg_database.datvacuumxid
Your database is still 465752897 transactions away from that apparently.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
--
Best,
Gourish Singbal