Re: Can we get rid of repeated queries from pg_dump?
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: depesz@depesz.com
Cc: Stephen Frost <sfrost@snowman.net>,
Laurenz Albe <laurenz.albe@cybertec.at>,
pgsql-general <pgsql-general@lists.postgresql.org>
Date: 2021-08-28T22:26:21Z
Lists: pgsql-hackers, pgsql-general
Attachments
- query-pg_policy-just-once.patch (text/x-diff) patch
Here is a second patch, quite independent of the first one, that gets rid of some other repetitive queries. On the regression database, the number of queries needed to do "pg_dump -s regression" drops from 3260 to 2589, and on my machine it takes 1.8 sec instead of 2.1 sec. What's attacked here is a fairly silly decision in getPolicies() to query pg_policy once per table, when we could do so just once. It might have been okay if we skipped the per-table query for tables that lack policies, but it's not clear to me that we can know that without looking into pg_policy. In any case I doubt this is ever going to be less efficient than the original coding. regards, tom lane
Commits
-
In pg_dump, avoid doing per-table queries for RLS policies.
- dd3105286bd8 9.6.24 landed
- db11b4a3db5f 13.5 landed
- bd3611db5a6f 15.0 landed
- ba8f1a0be583 10.19 landed
- a60860ff33fb 11.14 landed
- a20a9f26cefc 14.0 landed
- 6b9667392d81 12.9 landed
-
Cache the results of format_type() queries in pg_dump.
- c4b298ee15aa 11.14 landed
- 0e7bdc722c65 10.19 landed
- 904ce45bfa88 13.5 landed
- 2f1ed9d98c38 12.9 landed
- 9407dbbcb5b5 14.0 landed
- 6c450a861f1a 15.0 landed
- 4645997c8ab7 9.6.24 landed