mirror of
https://github.com/postgres/postgres.git
synced 2026-07-13 11:50:50 -04:00
Presently, pg_upgrade obtains the number of subscriptions in the to-be-upgraded cluster by first querying pg_subscription in every database for the number of subscriptions in only that database. Then, in count_old_cluster_subscriptions(), it adds all the values collected in the first step. This is expensive, especially when there are many databases. Fortunately, there is a better way to retrieve the subscription count. Since pg_subscription is a shared catalog, we only need to connect to a single database and query it once. This commit modifies pg_upgrade to use that approach, which also allows us to trim several lines of code. In passing, move the call to get_db_subscription_count(), which has been renamed to get_subscription_count(), from get_db_rel_and_slot_infos() to the dedicated >= v17 section in check_and_dump_old_cluster(). We may be able to make similar improvements to get_old_cluster_logical_slot_infos(), but that is left as a future exercise. Reviewed-by: Michael Paquier, Amit Kapila Discussion: https://postgr.es/m/ZprQJv_TxccN3tkr%40nathan Backpatch-through: 17 |
||
|---|---|---|
| .. | ||
| initdb | ||
| pg_amcheck | ||
| pg_archivecleanup | ||
| pg_basebackup | ||
| pg_checksums | ||
| pg_combinebackup | ||
| pg_config | ||
| pg_controldata | ||
| pg_ctl | ||
| pg_dump | ||
| pg_resetwal | ||
| pg_rewind | ||
| pg_test_fsync | ||
| pg_test_timing | ||
| pg_upgrade | ||
| pg_verifybackup | ||
| pg_waldump | ||
| pg_walsummary | ||
| pgbench | ||
| pgevent | ||
| psql | ||
| scripts | ||
| Makefile | ||
| meson.build | ||