PATCH: optimized DROP of multiple tables within a transaction
Tomas Vondra <tv@fuzzy.cz>
From: Tomas Vondra <tv@fuzzy.cz>
To: pgsql-hackers@postgresql.org
Date: 2012-08-24T22:36:34Z
Lists: pgsql-hackers
Attachments
- drop-in-transaction.patch (text/plain) patch
Hi, attached is a patch that improves performance when dropping multiple tables within a transaction. Instead of scanning the shared buffers for each table separately, the patch removes this and evicts all the tables in a single pass through shared buffers. Our system creates a lot of "working tables" (even 100.000) and we need to perform garbage collection (dropping obsolete tables) regularly. This often took ~ 1 hour, because we're using big AWS instances with lots of RAM (which tends to be slower than RAM on bare hw). After applying this patch and dropping tables in groups of 100, the gc runs in less than 4 minutes (i.e. a 15x speed-up). This is not likely to improve usual performance, but for systems like ours, this patch is a significant improvement. kind regards Tomas
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Accelerate end-of-transaction dropping of relations
- 279628a0a7cf 9.3.0 cited