]> granicus.if.org Git - postgresql/commit
Fix table lock levels for REINDEX INDEX CONCURRENTLY
authorPeter Eisentraut <peter@eisentraut.org>
Wed, 8 May 2019 12:15:01 +0000 (14:15 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Wed, 8 May 2019 12:30:23 +0000 (14:30 +0200)
commitadd85ead4ab969c1e31d64f4476c2335856f4aa9
treef6875e94d7a427a372c2f0b2e862d342121bc85c
parent8efe710d9c84502b3e6a9487937bccf881f56d9c
Fix table lock levels for REINDEX INDEX CONCURRENTLY

REINDEX CONCURRENTLY locks tables with ShareUpdateExclusiveLock rather
than the ShareLock used by a plain REINDEX.  However,
RangeVarCallbackForReindexIndex() was not updated for that and still
used the ShareLock only.  This would lead to lock upgrades later,
leading to possible deadlocks.

Reported-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://www.postgresql.org/message-id/flat/20190430151735.wi52sxjvxsjvaxxt%40alap3.anarazel.de
src/backend/commands/indexcmds.c