Re: amcheck (B-Tree integrity checking tool)
От | Tomas Vondra |
---|---|
Тема | Re: amcheck (B-Tree integrity checking tool) |
Дата | |
Msg-id | 1457714943.4311.10.camel@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: amcheck (B-Tree integrity checking tool) (Michael Paquier <michael.paquier@gmail.com>) |
Список | pgsql-hackers |
Hi, On Fri, 2016-03-11 at 17:24 +0100, Michael Paquier wrote: > On Fri, Mar 11, 2016 at 5:19 PM, Anastasia Lubennikova wrote: > > > > BTW, if you know a good way to corrupt index (and do it > > reproducible) I'd be > > very glad to see it. > You can use for example dd in non-truncate mode to corrupt on-disk > page data, say that for example: > dd if=/dev/random bs=8192 count=1 \ > seek=$BLOCK_ID of=base/$DBOID/$RELFILENODE \ > conv=notrunc I guess /dev/random is not very compatible with the "reproducible" requirement. I mean, it will reproducibly break the page, but pretty much completely, which is mostly what checksums are for. I think the main goal of the amcheck module is to identify issues that are much more subtle - perhaps a coding error or unhandled cornercase which results in page with a valid structure and checksum, but broken page. Or perhaps issues coming from outside of PostgreSQL, like a subtle change in the locales. Simulating those issues requires a tool that allows minor tweaks to the page, dd is a bit too dull for that. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: