Fix autoprewarm neglect of tablespaces

Melanie Plageman <melanieplageman@gmail.com>

Commit: 64e7fa43a948a82f97e305f020f924c02671a434
Author: Melanie Plageman <melanieplageman@gmail.com>
Date: 2025-04-04T15:34:06Z
Releases: 18.0
Fix autoprewarm neglect of tablespaces

While prewarming blocks from a dump file, autoprewarm_database_main()
mistakenly ignored tablespace when detecting the beginning of the next
relation to prewarm. Because RelFileNumbers are only unique within a
tablespace, autoprewarm could miss prewarming blocks from a
relation with the same RelFileNumber in a different tablespace.

Though this situation is likely rare in practice, it's best to make the
code correct. Do so by explicitly checking for the RelFileNumber when
detecting a new relation.

Reported-by: Heikki Linnakangas <hlinnaka@iki.fi>
Discussion: https://postgr.es/m/97c36982-603b-494a-95f4-aaf2a12ac27e%40iki.fi

Files

PathChange+/−
contrib/pg_prewarm/autoprewarm.c modified +12 −4

Discussion