pgstat: Use correct lock level in pgstat_drop_all_entries(). Previously we didn't, which lead to an assertion failure when resetting partially loaded statistics. This was encountered on the buildfarm, for as-of-yet unknown reasons.
Ttighten up a validity check when reading the stats file, verifying 'E' signals the end of the file (rather than just stopping reading). That's then used in a test appending to the stats file that crashed before the fix in pgstat_drop_all_entries(). Reported by buildfarm animals mylodon and kestrel, via Tom Lane. Discussion: https://postgr.es/m/1656446.1650043...@sss.pgh.pa.us Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/4a736a161c306fcfed970e6b649f2f03f465ac24 Modified Files -------------- src/backend/utils/activity/pgstat.c | 4 ++++ src/backend/utils/activity/pgstat_shmem.c | 2 +- src/test/recovery/t/029_stats_restart.pl | 30 ++++++++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 3 deletions(-)