Обсуждение: Operation needed for datfrozenxid bug?

Поиск
Список
Период
Сортировка

Operation needed for datfrozenxid bug?

От
ITAGAKI Takahiro
Дата:
Hello,

The datfrozenxid bug is fixed in 8.3.4,
but do I need additional operations after upgrade postgres binaries?

| Fix potential miscalculation of datfrozenxid (Alvaro)
|   This error may explain some recent reports of failure
|   to remove old pg_clog data. 

I assume that pg_database.datfrozenxid is wrongly set to 3
(FirstNormalTransactionId) if the bug has occurred.
 1. Can I use the following SQL to check whether the bug has occurred?       SELECT * FROM pg_database WHERE
datfrozenxid= 3    (will return some rows under the bug.)
 
 2. What is needed to fix the corrupted system catalog,    something like the following SQL?       UPDATE pg_database
SETdatfrozenxid = relfrozenxid         FROM (SELECT relfrozenxid FROM pg_class                WHERE relkind IN ('r',
't')               ORDER BY age(relfrozenxid) DESC LIMIT 1) AS tmp        WHERE datname = current_database();
 

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center