From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Manuel Rigger <rigger(dot)manuel(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: REINDEX CONCURRENTLY unexpectedly fails |
Date: | 2020-01-15 01:39:03 |
Message-ID: | 20200115013824.GA2243@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
Attachment | Content-Type | Size |
---|---|---|
reindex-conc-temp-v5.patch | text/x-diff | 15.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2020-01-15 01:52:07 | Re: libpq parameter parsing problem |
Previous Message | Alvaro Herrera | 2020-01-14 21:59:42 | Re: DROP OWNED CASCADE vs Temp tables |