Re: Add checksums without --initdb

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Add checksums without --initdb
Дата
Msg-id 5595A265.20508@iki.fi
обсуждение исходный текст
Ответ на Re: Add checksums without --initdb  (Andres Freund <andres@anarazel.de>)
Ответы Re: Add checksums without --initdb  (Andres Freund <andres@anarazel.de>)
Re: Add checksums without --initdb  (David Christensen <david@endpoint.com>)
Список pgsql-hackers
On 07/02/2015 11:28 PM, Andres Freund wrote:
> On 2015-07-02 22:53:40 +0300, Heikki Linnakangas wrote:
>> Add a "enabling-checksums" mode to the server where it calculates checksums
>> for anything it writes, but doesn't check or complain about incorrect
>> checksums on reads. Put the server into that mode, and then have a
>> background process that reads through all data in the cluster, calculates
>> the checksum for every page, and writes all the data back. Once that's
>> completed, checksums can be fully enabled.
>
> You'd need, afaics, a bgworker that connects to every database to read
> pg_class, to figure out what type of page a relfilenode has. And this
> probably should call back into the relevant AM or such.

Nah, we already assume that every relation data file follows the 
standard page format, at least enough to have the checksum field at the 
right location. See FlushBuffer() - it just unconditionally calculates 
the checksum before writing out the page. (I'm not totally happy about 
that, but that ship has sailed)
- Heikki




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [PATCH] two-arg current_setting() with fallback
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Add checksums without --initdb