pgsql: Simplify and speed up pg_dump's creation of parent-table links.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Simplify and speed up pg_dump's creation of parent-table links.
Date: 2023-03-17 17:43:12
Message-ID: E1pdE6i-0041EV-57@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Simplify and speed up pg_dump's creation of parent-table links.

Instead of trying to optimize this by skipping creation of the
links for tables we don't plan to dump, just create them all in
bulk with a single scan over the pg_inherits data. The previous
approach was more or less O(N^2) in the number of pg_inherits
entries, not to mention being way too complicated.

Also, don't create useless TableAttachInfo objects.
It's silly to create a TableAttachInfo object that we're not
going to dump, when we know perfectly well at creation time
that it won't be dumped.

Patch by me; thanks to Julien Rouhaud for review.

Discussion: https://postgr.es/m/1376149.1675268279@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/064709f803c05559d2849a62fdb855fbb91ffeb8

Modified Files
--------------
src/bin/pg_dump/common.c | 128 +++++++++++++++++++---------------------------
src/bin/pg_dump/pg_dump.c | 3 --
src/bin/pg_dump/pg_dump.h | 5 +-
3 files changed, 56 insertions(+), 80 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2023-03-17 19:11:36 pgsql: Fix t_isspace(), etc., when datlocprovider=i and datctype=C.
Previous Message Tom Lane 2023-03-17 17:31:55 pgsql: Fix pg_dump for hash partitioning on enum columns.