Я использую pg_restore
для восстановления базы данных Postgresql из резервной копии с помощью pg_dump
. (как резервное копирование, так и восстановление происходит в PostgreSQL 12). Резервная копия создается с использованием параметра пользовательского формата --format=custom
.
Восстановление резервной копии размером 10 ГБ занимает почти 30 минут. Время восстановления значительно увеличивается по мере увеличения размера резервной копии. Поэтому я попробовал параметр --jobs
для улучшения времени восстановления.
Согласно документации, для восстановления базы данных будут использоваться одновременные подключения. объекты. Я проверил вывод восстановления и смог убедиться, что запущены параллельные потоки, равные значению параметра --jobs
. Однако время восстановления не улучшилось ни при каком значении параметра --jobs
.
Я знаю, что производительность зависит от аппаратной инфраструктуры. Но машина имеет 16 vcpus и 32GB RAM.
Я также пытался настроить Postgres, как указано в блоге со следующими конфигурациями, но по-прежнему без улучшения времени восстановления.
work_mem = 32MB shared_buffers = 4GB maintenance_work_mem = 2GB full_page_writes = off autovacuum = off wal_buffers = -1
Есть ли что-то, что я пропустил? Как добиться улучшения времени восстановления?