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().
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center
pgsql-hackers by date
|Next:||From: Heikki Linnakangas||Date: 2010-08-27 14:25:58|
|Subject: Re: pg_subtrans keeps bloating up in the standby|
|Previous:||From: Robert Haas||Date: 2010-08-27 12:02:03|
|Subject: Re: security label support, part.2|