During pg_dump startup, acquire table locks in batches.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 3 Jan 2023 22:56:37 +0000 (17:56 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 3 Jan 2023 22:56:44 +0000 (17:56 -0500)
commit5f53b42cfd053a724fcbe0712a9d5716e576a3e6
tree34bbc9ea111022775683c7f6ad5e900b1fc6f3bb
parentb23837dde48028f9e31983c765c32e3f42cb7ef2
During pg_dump startup, acquire table locks in batches.

Combine multiple LOCK TABLE commands to reduce the number of
round trips to the server.  This is particularly helpful when
dumping from a remote server, but it seems useful even without
that.  In particular, shortening the time from seeing a table
in pg_class to acquiring lock on it reduces the window for
trouble from concurrent DDL.

Aleksander Alekseev, reviewed by Fabrízio de Royes Mello,
Gilles Darold, and Andres Freund

Discussion: https://postgr.es/m/CAJ7c6TO4z1+OBa-R+fC8FnaUgbEWJUf2Kq=nRngTW5EXtKru2g@mail.gmail.com
src/bin/pg_dump/pg_dump.c