Do not reuse rd_smgr in fork loop when enabling data checksums ProcessSingleRelationByOid called RelationGetSmgr(rel), discarded the result, and then read rel->rd_smgr directly when looping over forks. Only RelationGetSmgr is authorized to read that field since a relcache invalidation resets rd_smgr to NULL.
Backpatch to v19 where online checksums were introduced. Author: Mihail Nikalayeu <[email protected]> Reviewed-by: ChangAo Chen <[email protected]> Reviewed-by: Fujii Masao <[email protected]> Discussion: https://postgr.es/m/CADzfLwXGvb4Y-mqy8T+O0f_tkXR1sTDBGzP5Z=v_qcgnz46...@mail.gmail.com Backpatch-through: 19 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/ab918a4fab0a6a8855b230d140bbf89fb090ad3e Modified Files -------------- src/backend/postmaster/datachecksum_state.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
