Re: REINDEX CONCURRENTLY unexpectedly fails
| От | Michael Paquier |
|---|---|
| Тема | Re: REINDEX CONCURRENTLY unexpectedly fails |
| Дата | |
| Msg-id | 20200115013824.GA2243@paquier.xyz обсуждение исходный текст |
| Ответ на | Re: REINDEX CONCURRENTLY unexpectedly fails (Heikki Linnakangas <hlinnaka@iki.fi>) |
| Ответы |
Re: REINDEX CONCURRENTLY unexpectedly fails
|
| Список | pgsql-bugs |
On Tue, Jan 14, 2020 at 11:41:11PM +0200, Heikki Linnakangas wrote: > I'm not a fan of all those changes in RangeVarCallbackForDropRelation() to > ensure that you get an AccessExclusiveLock to begin with. It gets pretty > complicated, and it feels like you need to special-case temporary tables in > dozen different places. I liked the v3 of this patch better. It's true that > you're upgrading the ShareUpdateExclusiveLock to AccessExclusiveLock, but > since it's a temporary table, there really should be no other backend > holding a lock on it. Thanks for taking the time to share your opinion. That was as well my feeling with the peanut and the sledgehammer. I liked the peanuts, but not the hammer part. There are still some parts I liked about v4 (doc wording, tweaks about the shape of RelationSupportsConcurrentIndexing and its use in assertions, setting up the concurrent flag in RemoveRelation and use an assert in index_drop is also cleaner), so I kept a good portion of v4. Attached is an updated patch, v5, that removes the parts enforcing the lock when looking at the relation OID based on its RangeVar. Any thoughts? -- Michael
Вложения
В списке pgsql-bugs по дате отправления: