-
Notifications
You must be signed in to change notification settings - Fork 90
Closed
Description
CRC32 for pg_filenode.map files calculates incorrectly.
Probably due to some polynom math magic with checksum in file.
Because of that incremental restore may break pg_catalog relations, that rely on pg_filenode.map, by erroneously reusing the old map in PGDATA due to false-positive crc match.
This condition is only possible if catalog relation was subjected to VACUUM FULL, REINDEX (in case of pg_catalog indexes) or any other operation that changes the relfilenode of relation. Note, that only limited number of catalog relations are relying on pg_filenode.map.
Regular restore and merge are not affected.
Symptoms example:
ERROR: could not open file "base/12295/2703": No such file or directory