From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: depesz@depesz.com, Stephen Frost <sfrost@snowman.net>
Cc: Laurenz Albe <laurenz.albe@cybertec.at>
Cc: pgsql-general <pgsql-general@lists.postgresql.org>
Subject: Re: Can we get rid of repeated queries from pg_dump?
Date: Sun, 29 Aug 2021 09:51:58 -0400
Message-ID: <1124941.1630245118@sss.pgh.pa.us> (raw)
In-Reply-To: <202108291313.oufovwqmwm67@alvherre.pgsql>
References: <202108291313.oufovwqmwm67@alvherre.pgsql>
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> Another pointlessly repetitive query is in getTriggers, which we run
> once per table to be dumped containing triggers. We could reduce that
> by running it in bulk for many relations at a time. I suppose it's
> normally not hurtful, but as we grow the number of partitions we allow
> it's going to become a problem.
Perhaps. In the regression database, only ~10% of the tables have
triggers, so it's likely not going to yield any measurable gain there.
But databases that make heavier use of foreign keys might see a win.
Another thing I've wondered about before is whether it could make sense
to read pg_attribute once rather than once per table. There might be
a fair amount of wasted work if the dump is selective, and in big DBs
the sheer size of that result could be a problem. But those reads are
definitely way up there on the number-of-queries scale.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-general@postgresql.org
Cc: tgl@sss.pgh.pa.us, alvherre@alvh.no-ip.org, sfrost@snowman.net, laurenz.albe@cybertec.at, pgsql-general@lists.postgresql.org
Subject: Re: Can we get rid of repeated queries from pg_dump?
In-Reply-To: <1124941.1630245118@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox