From 7c298c6573a0f181963ddcb40c850fa9c7da0ada Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 21 Apr 2021 18:36:12 -0400 Subject: [PATCH] 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 --- src/backend/postmaster/autovacuum.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 83c584ddc8..d516df0ac5 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)