Fix race condition in statext_store().

Must hold some lock on the pg_statistic_ext_data catalog *before*
we look up the tuple we aim to replace.  Otherwise a concurrent
VACUUM FULL or similar operation could move it to a different TID,
leaving us trying to replace the wrong tuple.

Back-patch to v12 where this got broken.

Credit goes to Dean Rasheed; I'm just doing the clerical work.

Discussion: 
https://postgr.es/m/caezatcu0zhmdiqv0g8p2u+ysp9c1iduprn79dajsbonwkn0...@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/fe3036527a1ff715bceb22ff5cba919001262a71

Modified Files
--------------
src/backend/statistics/extended_stats.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Reply via email to