3.6. Запуск pg_probackup3 в параллельных потоках #

Команды backup, restore, merge, delete и validate могут выполняться в несколько параллельных потоков. Это может существенно ускорять работу pg_probackup3 при наличии достаточных ресурсов (ядер процессора, производительности дисковой подсистемы и сети).

Параллельным выполнением управляют ключи командной строки -j/--threads, --num-write-threads и --num-validate-threads. Эти параметры должны быть неотрицательными целыми числами.

Если эти параметры не указаны или имеют нулевое значение, pg_probackup3 по умолчанию использует количество ядер процессора. Если определить количество ядер не удастся, будет использоваться один поток.

Когда параметры --num-write-threads и --num-validate-threads указаны, они переопределяют значение -j.

Если запрошенное количество потоков превышает системное ограничение (например, указанное в /proc/sys/kernel/threads-max), будет выведено предупреждение и вместо запрошенного значения будет использовано системное ограничение. Если ограничение не обнаружено, будет применено значение, указанное пользователем.

В режиме PRO количество потоков чтения должно быть меньше значения серверного параметра max_wal_senders.

Например, чтобы запустить резервное копирование в четыре параллельных потока, выполните:

pg_probackup3 backup -B каталог_копий --instance=имя_экземпляра -b FULL -j 4

Примечание

Восстановление происходит в параллельном режиме только на этапе копирования данных из каталога копий в каталог данных кластера. При запуске сервера Postgres Pro он должен будет воспроизвести записи из WAL, а это может происходить только последовательно.