Предлагаю вам исследовать pg_dump --format=custom
и pg_restore -j 12
. Формат custom
позволяет выполнять параллельное восстановление (и при желании может быть выгружен в необработанный SQL, поэтому вы не теряете здесь никакой функциональности). Параметр -j
, равный pg_restore
, вызывает параллельное выполнение восстановления. Это может обеспечить существенное ускорение. Особенно если вы подняли ваш файл maintenance_work_mem красивым и большим.
Это не решит проблему, о которой вы спрашивали напрямую, по причинам, изложенным Эрвином выше, а также потому, что требует определенного уровня знаний о том, что важно представлять, а что нет, просто отсутствует в схеме. Это то, что отнимает время у разработчика и, как правило, должно выполняться одновременно с созданием схемы.