From: Alvaro Herrera Date: Wed, 21 Apr 2021 22:36:12 +0000 (-0400) Subject: Add comment about extract_autovac_opts not holding lock X-Git-Tag: REL_14_BETA1~168 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c298c6573a0f181963ddcb40c850fa9c7da0ada;p=thirdparty%2Fpostgresql.git Add comment about extract_autovac_opts not holding lock Per observation from Tom Lane. Discussion: https://postgr.es/m/1901125.1617904665@sss.pgh.pa.us --- diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 83c584ddc8c..d516df0ac5c 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -2783,6 +2783,11 @@ deleted2: * * Given a relation's pg_class tuple, return the AutoVacOpts portion of * reloptions, if set; otherwise, return NULL. + * + * Note: callers do not have a relation lock on the table at this point, + * so the table could have been dropped, and its catalog rows gone, after + * we acquired the pg_class row. If pg_class had a TOAST table, this would + * be a risk; fortunately, it doesn't. */ static AutoVacOpts * extract_autovac_opts(HeapTuple tup, TupleDesc pg_class_desc)