мастер - слейв репликация. Делал по ману https://postgrespro.ru/docs/postgrespro/11/runtime-config-replication. Шаги вышли как по этой инструкции https://romantelychko.com/blog/1583/#3
После запуска слейва висят только такие процессы:
root@pgpro-slave:~# ps aux | grep postgres
postgres 13036 0.0 0.2 320048 21696 ? Ss 15:24 0:00 /opt/pgpro/1c-11/bin/postgres -D /var/lib/pgpro/1c-11/data
postgres 13037 0.0 0.0 174844 2984 ? Ss 15:24 0:00 postgres: logger
postgres 13038 0.0 0.0 320324 6284 ? Ss 15:24 0:00 postgres: startup recovering 000000010000000000000001
postgres 13041 0.0 0.0 320048 3436 ? Ss 15:24 0:00 postgres: checkpointer
postgres 13042 0.0 0.0 320048 3436 ? Ss 15:24 0:00 postgres: background writer
postgres 13043 0.0 0.0 174844 2988 ? Ss 15:24 0:00 postgres: stats collector
Значение recovering не меняется. Процессов reciver\sender на мастере\слейве не появляется. Если через strace открыть этот процесс вижу такую картину: https://hastebin.com/oxuxutegon.pl
В основном думаю что причина в stat("pg_wal/RECOVERYXLOG", 0x7ffe93129240) = -1 ENOENT (No such file or directory), но не могу понять почему оно вообще её ищет. Такого файла нет на мастере например, там только WAL файлы.
Он ожидает, что искомый файл будет скопирован в RECOVERYXLOG
Обсуждают сегодня