Make pg_checksums complain if compiled BLCKSZ and data folder'sblock size differ
В списке pgsql-hackers по дате отправления:
| От | Michael Paquier |
|---|---|
| Тема | Make pg_checksums complain if compiled BLCKSZ and data folder'sblock size differ |
| Дата | |
| Msg-id | 20190316012147.GC1434@paquier.xyz обсуждение исходный текст |
| Ответы |
Re: Make pg_checksums complain if compiled BLCKSZ and data folder'sblock size differ
Re: Make pg_checksums complain if compiled BLCKSZ and data folder'sblock size differ |
| Список | pgsql-hackers |
Hi all, (related folks in CC) Sergei Kornilov has reported here an issue with pg_checksums: https://www.postgresql.org/message-id/5217311552474471@myt2-66bcb87429e6.qloud-c.yandex.net If the block size the tool is compiled with does not match the data folder block size, then users would get incorrect checksums failures, which is confusing. As pg_checksum_block() uses directly the block size, this cannot really be made dynamic yet, so we had better issue an error on that. Michael Banck has sent a patch for that: https://www.postgresql.org/message-id/1552476561.4947.67.camel@credativ.de The error message proposed is like that: + if (ControlFile->blcksz != BLCKSZ) + { + fprintf(stderr, _("%s: data directory block size %d is different to compiled-in block size %d.\n"), + progname, ControlFile->blcksz, BLCKSZ); + exit(1); + } Still I think that we could do better. Here is a proposal of message which looks more natural to me, and more consistent with what xlog.c complains about: database files are incompatible with pg_checksums. The database cluster was initialized with BLCKSZ %d, but pg_checksums was compiled with BLCKSZ %d. Has somebody a better wording for that? Attached is a proposal of patch. -- Michael
В списке pgsql-hackers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера