Re: Hot Backup with rsync fails at pg_clog if under load
| От | Heikki Linnakangas |
|---|---|
| Тема | Re: Hot Backup with rsync fails at pg_clog if under load |
| Дата | |
| Msg-id | 4EA913BE.2080102@enterprisedb.com обсуждение исходный текст |
| Ответ на | Re: Hot Backup with rsync fails at pg_clog if under load (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>) |
| Список | pgsql-hackers |
On 27.10.2011 09:57, Heikki Linnakangas wrote: >> My suggestion is to fix the CLOG problem in that same way that you fixed >> the SUBTRANS problem, i.e. by moving LogStandbySnapshot() to before >> CheckPointGuts(). >> >> Here's what I image CreateCheckPoint() should look like: >> >> 1) LogStandbySnapshot() and fill out oldestActiveXid >> 2) Fill out REDO >> 3) Wait for concurrent commits >> 4) Fill out nextXid and the other fields >> 5) CheckPointGuts() >> 6) Rest >> >> It's then no longer necessary for LogStandbySnapshot() do modify >> the nextXid, since we fill out nextXid after LogStandbySnapshot() and >> will thus derive a higher value than LogStandbySnapshot() would have. > > Hmm, I don't think that fully fixes the problem. Even if you're certain > that CheckPointGuts() has fsync'd the clog page to disk, VACUUM might > decide to truncate it away again while the checkpoint is running. Oh, scratch that. During recovery, we merrily treat missing slru files as they were filled with zeros. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: