PG. BaseBackup и восстановление.

Итак, Debian 11, PGSQL 15. Делаем basebackup и восстанавливаемся с него.
0. Устанавливаем PG.
apt-get update apt-get install mc wget ssl-cert git -y wget https://repo.postgrespro.ru/1c-15/keys/pgpro-repo-add.sh chmod +x pgpro-repo-add.sh ./pgpro-repo-add.sh apt-get install postgrespro-1c-15 /opt/pgpro/1c-15/bin/pg-setup service enable /opt/pgpro/1c-15/bin/pg-setup service status su - postgres psql ALTER USER postgres PASSWORD 'sqlpass' \q
1. Конфиг нашего исходного сервера:
log_timezone = 'Asia/Tomsk' datestyle = 'iso, dmy' timezone = 'Asia/Tomsk' default_text_search_config = 'pg_catalog.russian' listen_addresses = '*' max_connections = 100 shared_buffers = 16GB effective_cache_size = 48GB maintenance_work_mem = 2GB checkpoint_completion_target = 0.9 wal_buffers = 16MB default_statistics_target = 100 random_page_cost = 1.1 effective_io_concurrency = 200 work_mem = 20971kB min_wal_size = 1GB max_wal_size = 4GB max_worker_processes = 32 max_parallel_workers_per_gather = 4 max_parallel_workers = 32 max_parallel_maintenance_workers = 4 archive_mode = on archive_timeout = 300 archive_command = 'test ! -f /mnt/basebackups/SRV-001/wals/%f && cp %p /mnt/basebackups/SRV-001/wals/%f'
2. Выполняем полное резервное копирование исходного сервера:
PGPASSWORD="sqlpass" pg_basebackup -h localhost -U postgres -D /mnt/basebackups/SRV-001/arc -Ft -z -P
3. Восстанавливаем резервную копию на другом сервере:
# останавливаем сервер БД /opt/pgpro/1c-15/bin/pg-setup service stop # удаляем директорию с данными rm -rf /var/lib/pgpro/1c-15/data/ # создаем директорию данных и назщначаем ей необходимые права mkdir /var/lib/pgpro/1c-15/data/ chown postgres:postgres /var/lib/pgpro/1c-15/data/ chmod 700 /var/lib/pgpro/1c-15/data # копируем данные из резервной копии tar xvf /mnt/basebackups/SRV-001/arc/base.tar.gz -C /var/lib/pgpro/1c-15/data/ # создаем флаг сигнализрующий, что будем восстанавливать бьазу из WAL`ов echo > /var/lib/pgpro/1c-15/data/recovery.signal # не знаю зачем, но я удалял rm -rf /var/lib/pgpro/1c-15/data/pg_wal/archive_status/
в файл postgresql.conf добавляем
restore_command = 'cp /mnt/basebackups/SRV-001/wals/%f %p'
4. Запускаем сервер и смотрим журнал
/opt/pgpro/1c-15/bin/pg-setup service start journalctl -xe