In pg_dump, avoid doing per-table queries for RLS policies.
Tom Lane <tgl@sss.pgh.pa.us>
In pg_dump, avoid doing per-table queries for RLS policies. For no particularly good reason, getPolicies() queried pg_policy separately for each table. We can collect all the policies in a single query instead, and attach them to the correct TableInfo objects using findTableByOid() lookups. On the regression database, this reduces the number of queries substantially, and provides a visible savings even when running against a local server. Per complaint from Hubert Depesz Lubaczewski. Since this is such a simple fix and can have a visible performance benefit, back-patch to all supported branches. Discussion: https://postgr.es/m/20210826084430.GA26282@depesz.com
Files
| Path | Change | +/− |
|---|---|---|
| src/bin/pg_dump/pg_dump.c | modified | +42 −50 |
Discussion
- Can we get rid of repeated queries from pg_dump? 37 messages · 2021-08-26 → 2021-10-21