pg_subtrans keeps bloating up in the standby
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Cc: "Kolb, Harald (NSN - DE/Munich)" <harald.kolb@nsn.com>
Date: 2010-08-27T13:39:21Z
Lists: pgsql-hackers
Hi, I received the off-list email reporting that pg_subtrans keeps bloating up in the standby, from Harald (Thanks!). I investigated this issue and found that the standby doesn't truncate pg_subtrans at all even though HS keeps extending it. In the master, a checkpoint calls TruncateSUBTRANS() and truncate old pg_subtrans entries, but in the standby, a restartpoint doesn't do that. And I found the following comment in CreateRestartPoint(): /* * Currently, there is no need to truncate pg_subtrans during recovery. If * we did do that, we will need to have called StartupSUBTRANS() already * and then TruncateSUBTRANS() would go here. */ I'm not sure why there is no need to truncate pg_subtrans during recovery. To fix the issue, we should make a restartpoint call TruncateSUBTRANS(). Thought? Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center