Re: [PATCH] pg_dump: lock tables in batches
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Fabrízio de Royes Mello <fabriziomello@gmail.com>, Aleksander Alekseev <aleksander@timescale.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-12-07T22:53:05Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
During pg_dump startup, acquire table locks in batches.
- 5f53b42cfd05 16.0 landed
Andres Freund <andres@anarazel.de> writes: > With an artificial delay of 100ms, the perf difference between the batching > patch and not using the batching patch is huge. Huge enough that I don't have > the patience to wait for the non-batched case to complete. Clearly, if you insert a sufficiently large artificial round-trip delay, even squeezing a single command out of a pg_dump run will appear worthwhile. What I'm unsure about is whether it's worthwhile at realistic round-trip delays (where "realistic" means that the dump performance would otherwise be acceptable). I think the reason I didn't pursue this last year is that experimentation convinced me the answer was "no". > With batching pg_dump -s -h localhost t10000 took 0:16.23 elapsed, without I > cancelled after 603 tables had been locked, which took 2:06.43. Is "-s" mode actually a relevant criterion here? With per-table COPY commands added into the mix you could not possibly get better than 2x improvement, and likely a good deal less. regards, tom lane