Re: Do not lock tables in get_tables_to_repack - Mailing list pgsql-hackers

From Álvaro Herrera
Subject Re: Do not lock tables in get_tables_to_repack
Date
Msg-id ak0ujOl6WeakTEqx@alvherre.pgsql
Whole thread
In response to Do not lock tables in get_tables_to_repack  ("cca5507" <cca5507@qq.com>)
Responses Re: Do not lock tables in get_tables_to_repack
List pgsql-hackers
On 2026-Jun-16, cca5507 wrote:

> Hi hackers,
> 
> When doing a whole database repack, we build a list of repackable
> tables and take a lock on them to prevent concurrent drops. But
> concurrent drops can always happen after we build the list because
> we process each table in a separate transaction.

Not only that.  We have actually three ways to obtain the list of tables
to repack, and only one of these obtains the locks.  So this code is
internally inconsistent.  I agree that we should do something like your
patch.  I wanted to be a little more defensive though; how about the
attached?

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/

Attachment

pgsql-hackers by date:

Previous
From: Rui Zhao
Date:
Subject: Re: [PATCH] Add pg_get_table_ddl() to reconstruct CREATE TABLE statements
Next
From: Zsolt Parragi
Date:
Subject: Proposal: new file format for hba/ident/hosts configuration?