pgsql: Use PREPARE/EXECUTE for repetitive per-object queries in pg_dump - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Use PREPARE/EXECUTE for repetitive per-object queries in pg_dump
Date
Msg-id E1muIe0-0007N4-R4@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Use PREPARE/EXECUTE for repetitive per-object queries in pg_dump.

For objects such as functions, pg_dump issues the same secondary
data-collection query against each object to be dumped.  This can't
readily be refactored to avoid the repetitive queries, but we can
PREPARE these queries to reduce planning costs.

This patch applies the idea to functions, aggregates, operators, and
data types.  While it could be carried further, the remaining sorts of
objects aren't likely to appear in typical databases enough times to
be worth worrying over.  Moreover, doing the PREPARE is likely to be a
net loss if there aren't at least some dozens of objects to apply the
prepared query to.

Discussion: https://postgr.es/m/7d7eb6128f40401d81b3b7a898b6b4de@W2012-02.nidsa.loc

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/be85727a3df743a1f7e93b41dd7ac2b667e8ae04

Modified Files
--------------
src/bin/pg_dump/pg_backup.h |  20 +
src/bin/pg_dump/pg_dump.c   | 878 ++++++++++++++++++++++++++------------------
2 files changed, 532 insertions(+), 366 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Fix inappropriate uses of PG_GETARG_UINT32()
Next
From: Peter Eisentraut
Date:
Subject: pgsql: Update snowball